完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用ESP32S2,SPI做从机,
SPI传输时,可以在my_post_trans_cb()里面执行spi_slave_transmit()进行数据接收吗? (*目前都是在任务里循环执行spi_slave_transmit,如果不另加延时,总是提示看门狗出错 ,如果加延时,效率太低,技术人员说要有10ms以上的空闲时间,看门狗才能正常复位,这么长时间不可接受*) 可以在GPIO中断里进行WIFI的数据发送操作吗? |
|
相关推荐
2个回答
|
|
不可以,你应该在 spi_slave_transmit 里面设置超时时间,不可以设置为 0
|
|
|
|
ESP32S2是一款功能丰富的微控制器,具有Wi-Fi和蓝牙功能。在GPIO中断中进行Wi-Fi数据发送操作是可能的,但需要注意以下几点:
1. 中断处理函数应尽可能简短,避免在中断中执行耗时的操作。Wi-Fi数据发送可能会涉及到一些耗时的操作,因此在中断中直接进行数据发送可能不是最佳选择。 2. 可以考虑在中断处理函数中设置一个标志位,然后在主循环或者任务中检查这个标志位,如果需要发送数据,则进行Wi-Fi数据发送操作。这样可以避免在中断中执行耗时的操作。 关于SPI从机的问题,可以在my_post_trans_cb()回调函数中执行spi_slave_transmit()进行数据接收。但是,需要注意以下几点: 1. 确保my_post_trans_cb()回调函数的执行时间足够短,以避免影响SPI通信的实时性。 2. 如果在my_post_trans_cb()中执行spi_slave_transmit()导致看门狗出错,可以尝试优化代码,减少在回调函数中的操作。 3. 如果需要在SPI传输过程中保持看门狗的正常复位,可以考虑在适当的时机(例如在主循环或者任务中)手动复位看门狗。 总之,虽然在GPIO中断中进行Wi-Fi数据发送操作和在my_post_trans_cb()中执行spi_slave_transmit()是可能的,但需要注意避免在中断和回调函数中执行耗时的操作,以保证系统的稳定性和实时性。 |
|
|
|
只有小组成员才能发言,加入小组>>
1106 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 15:40 , Processed in 0.967403 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号