天线|RF射频
直播中

陈婧甄

7年用户 201经验值
私信 关注
[问答]

sim800c_send_cmd(u8 *cmd,u8 *ack,u16 waittime)语句不可以正常执行

将USART3的寄存器配置完毕,但在执行sim800c_send_cmd(u8 *cmd,u8 *ack,u16 waittime)时候。该语句是用来向SIM800C发送指令,如果返回值是0,说明接通SIM800C模块,如果返回值是1说明没接通SIM800C模块(如果没接通,就继续此语句循环检测是否接通,即while(sim800c_send_cmd(u8 *cmd,u8 *ack,u16 waittime)){...})。现在的问题是,把原子哥的代码中USART2该成USART3之后,通过ST-LINK检查发现:第一次执行sim800c_send_cmd(u8 *cmd,u8 *ack,u16 waittime)语句是没问题的,但下次就无法循环,DEBUG显示cmd,res等参数。请问原子哥,这个是由什么原因造成的,怎么解决呢?

回帖(8)

张凤英

2019-5-10 08:59:02
问题已解决。USART2_TX使用的是DMA1通道7,而USART3_TX使用的是DMA1`通道2!我USART3_TX没有把通道7配置为通道2,所以数据一直无法发送!
举报

蔡明灼

2019-5-10 09:14:59
你好  在吗,我也是使用的 原子的sim800c  怎么我的代码不是  串口+DMA   你的是的,你是不是以前的代码???
举报

李月如

2019-5-10 09:26:24
你的不是的嘛?我的代码应该是最新的吧。代码是3月份才下载的。
举报

康桃花

2019-5-10 09:45:43
我是上个星期买的!!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分