ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

esp32 spi 正常一个标准流程

2022-09-06 01:01:19  阅读:185  来源: 互联网

标签:10 buffer esp32 0x00 SPITransaction2 spi 流程 recv2


uint8_t cmd[10] = {0x55, 0x00, 0xB0, 0x99, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00};
	cmd[9] = getLRCx(&cmd[1], 8);
	char sendbuf[10];
	char recvbuf[10];

	memcpy(sendbuf, cmd, 10);

	// vSetSSN(0);
	//	 vSetMOSI(1);
	//	  vSetMISO(1);
	// vSetSCK(1);

	vSetSSN(0);
	vTaskDelay(pdMS_TO_TICKS(100));
 
	spi_transaction_t SPITransaction;
	memset(&SPITransaction, 0, sizeof(spi_transaction_t));
	SPITransaction.length = 10 * 8;
	SPITransaction.tx_buffer = sendbuf;
	SPITransaction.rx_buffer = recvbuf;
	esp_err_t ret = spi_device_transmit(dev._SPIHandle, &SPITransaction);
	assert(ret == ESP_OK);
	if (_DEBUG_)
		ESP_LOGI(TAG, "W25Q64_readStatusReg2=%x %x %x", recvbuf[0], recvbuf[1], recvbuf[2]);
	vTaskDelay(pdMS_TO_TICKS(5));
	//	vTaskDelay(100);
	vSetSSN(1);
	vTaskDelay(pdMS_TO_TICKS(10));
	vSetSSN(0);
	vTaskDelay(pdMS_TO_TICKS(100));

	uint8_t cmd2[1] = {0x00};
	char sendbuf2[1];
	char recvbuf2[1];
	memcpy(sendbuf2, cmd2, 1);
	/*
   spi_transaction_t SPITransaction2;
   memset(&SPITransaction2, 0, sizeof(spi_transaction_t));
   SPITransaction2.length = 1 * 8;
   SPITransaction2.tx_buffer = sendbuf2;
   SPITransaction2.rx_buffer = recvbuf2;
   ret = spi_device_transmit(dev._SPIHandle, &SPITransaction2);
   */

	spi_transaction_t recv2;
	memset(&recv2, 0, sizeof(recv2));
	recv2.length = 1 * 8;
	recv2.rxlength = 1 * 8;
 	recv2.rx_buffer = recvbuf2;
    
	ret = spi_device_polling_transmit(dev._SPIHandle, &recv2);
    memcpy(recvbuf2,recv2.rx_buffer,1);
	assert(ret == ESP_OK);
	if (_DEBUG_)
		ESP_LOGI(TAG, "W25Q64_readStatusReg2=%x", recvbuf2[0]);

  

标签:10,buffer,esp32,0x00,SPITransaction2,spi,流程,recv2
来源: https://www.cnblogs.com/hshy/p/16660247.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有