完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我利用原子哥提供的GPS(串口1)和论坛一个哥们分享的GSM发短信的代码,都分别调试成功了,但是当我将两者结合的时候出现一些问题,比如说USART1_IRQChannel要改为USART1_IRQn,但是又碰到
HARDWAREUSART2usart2.h(29): error: #147-D: declaration is incompatible with "void UART_DMA_Enable(DMA_Channel_TypeDef *, u8)" (declared at line 29 of "..HARDWAREUSART1usart1.h") 的错误,求解决方案。。 不知道是不是因为我之前套用的两个程序用的system库不同的问题。。。跪求解决方案哇orz GPS+GSM.zip (5.12 MB ) ATK-NEO-6M GPS模块实验(串口1版本).zip (637.13 KB ) 发送短信.zip (4.96 MB ) |
|
相关推荐
6个回答
|
|
说这声明不兼容。。没搞懂要咋整,,求指点求教育。。。
|
|
|
|
一样哇原子哥,usart2.c里
//开启一次DMA传输 void UART_DMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u16 len) { DMA_CHx->CCR&=~(1<<0); //关闭DMA传输 DMA_CHx->CNDTR=len; //DMA1,传输数据量 DMA_CHx->CCR|=1<<0; //开启DMA传输 } usart2.h里 void UART_DMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u16 len); 而且这个在用串口2 发送短信的程序里已经调通可行了。。。 |
|
|
|
一样的就不可能报错。
|
|
|
|
现在又有个新问题,我使用串口2来发送GSM短信,以下四个函数
void TIM4_Set(u8 sta); void TIM4_Init(u16 arr,u16 psc); void UART_DMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar); void UART_DMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u16 len); 在usart1.c中重复定义了,我把usart2.c中重复部分删除了,sim900a.c原先包含头文件usart2.h,现在再补上usart1.h,我觉得这样应该没影响,sim900a功能应该照样能实现,但是现在跟踪发现u8 sim900a_send_cmd(u8 *cmd,u8 *ack,u16 waittime)函数中的if(USART2_RX_STA&0X8000)//收到期待的应答结果 { if(sim900a_check_cmd(ack))break;//得到有效数据 USART2_RX_STA=0; } 跳不到{},也就是说USART2_RX_STA&0X8000一直为0,不知道为什么,,我检查了串口2中断使能什么的都打开了。。。求教育orz |
|
|
|
楼主成功了没 求助啊
|
|
|
|
我也要做和楼主一样的东西,求教楼主啊
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2571 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2366 浏览 5 评论
3212 浏览 3 评论
2839 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2793 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
671浏览 1评论
907浏览 0评论
1029浏览 0评论
673浏览 0评论
501浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 18:35 , Processed in 1.211003 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号