完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
核心语句代码可以不用DMA传输么?比如下边橙色部分:
u8 sim800c_send_cmd(u8 *cmd,u8 *ack,u16 waittime) { u8 res=0; USART2_RX_STA=0; if((u32)cmd<=0XFF) { while(DMA1_Channel7->CNDTR!=0); //µÈ´ýͨµÀ7´«ÊäÍê³É USART2->DR=(u32)cmd; }else u2_printf("%srn",cmd);//·¢ËÍÃüÁî if(waittime==1100)//11sºó¶Á»Ø´®¿ÚÊý¾Ý(À¶ÑÀɨÃèģʽ) { Scan_Wtime = 11; //ÐèÒª¶¨Ê±µÄʱ¼ä TIM4_SetARR(9999);//²úÉú1S¶¨Ê±ÖÐ¶Ï } if(ack&&waittime) //ÐèÒªµÈ´ýÓ¦´ð { while(--waittime) //µÈ´ýµ¹¼Æʱ { if(BT_Scan_mode)//À¶ÑÀɨÃèģʽ { res=KEY_Scan(0);//·µ»ØÉÏÒ»¼¶ if(res==WKUP_PRES)return 2; } delay_ms(10); if(USART2_RX_STA&0X8000)//½ÓÊÕµ½ÆÚ´ýµÄÓ¦´ð½á¹û { if(sim800c_check_cmd(ack))break;//µÃµ½ÓÐЧÊý¾Ý USART2_RX_STA=0; } } if(waittime==0)res=1; } return res; } 我简单的用串口3的while((USART3->SR&0X40)==0);来替代好像不成功,有大神可以解惑么,多谢!!! u8 sim900a_send_cmd(u8 *cmd,u8 *ack,u16 waittime) { u8 res=0; USART3_RX_STA=0; if((u32)cmd<=0XFF) { while((USART3->SR&0X40)==0);//µÈ´ýÉÏÒ»´ÎÊý¾Ý·¢ËÍÍê³É USART3->DR=(u32)cmd; }else u3_printf("%srn",cmd);//·¢ËÍÃüÁî if(ack&&waittime) //ÐèÒªµÈ´ýÓ¦´ð { while(--waittime) //µÈ´ýµ¹¼Æʱ { delay_ms(10); if(USART3_RX_STA&0X8000)//½ÓÊÕµ½ÆÚ´ýµÄÓ¦´ð½á¹û { if(sim900a_check_cmd(ack))break;//µÃµ½ÓÐЧÊý¾Ý USART3_RX_STA=0; } } if(waittime==0)res=1; } return res; } |
|
相关推荐
3个回答
|
|
当然可以
|
|
|
|
多谢原子哥,追问一下,是不是直接USART2->SR&0X40)==0这样就可以了?
|
|
|
|
感谢原子哥,做通了,谢谢!!
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2550 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2335 浏览 5 评论
3166 浏览 3 评论
2807 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2767 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
617浏览 1评论
863浏览 0评论
975浏览 0评论
630浏览 0评论
456浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 11:45 , Processed in 1.210185 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号