完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
* @brief Prepares DMA Tx descriptors to transmit an ethernet frame
* @param FrameLength : length of the frame to send * @retval error status */ uint32_t ETH_Prepare_Transmit_Descriptors(u16 FrameLength) { uint32_t buf_count =0, size=0,i=0; __IO ETH_DMADESCTypeDef *DMATxDesc; /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) { /* Return ERROR: OWN bit set */ return ETH_ERROR; } . . . . . . 如果这个描述符是DMA占有的为什么要返回一个错误? |
|
相关推荐
2个回答
|
|
当然要返回错误,你首先要看手册,STM32的MAC支持双缓冲,当缓冲区被DMA占用时,说明是DMA在收发数据,应用程序当然不能再访问缓冲区.
|
|
|
|
双缓冲指的是描述符有接受和发送,互不干扰。既然你说DMA被占用是因为在收发数据,但是DMA没被占用的时候就被主机占用,被主机占用的时候就获取不了DMA描述符,然后就收发不了数据。你说占用不行,那你说什么时候收发数据??
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2569 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2365 浏览 5 评论
3210 浏览 3 评论
2837 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2789 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
668浏览 1评论
905浏览 0评论
1026浏览 0评论
671浏览 0评论
499浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:42 , Processed in 1.098103 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号