标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。