野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16078|回复: 3

GPS接收数据的端口改了,怎么收不到数据

[复制链接]
发表于 2018-12-24 14:13:57 | 显示全部楼层 |阅读模式
各位,我把GPS模块例程的端口PB10,PB11改成PD5,PD6,然后在gps.config.h里改了相应的配置,但为什么就是读不出数据呢~~~?难道还有对应没改的地方吗~~~?
#define GPS_DR_Base            (USART2_BASE+0x04)                  // ′®¿úμÄêy¾Y¼Ä′æÆ÷μØÖ·


#define GPS_DATA_ADDR             GPS_DR_Base        //GPSê1óÃμÄ′®¿úμÄêy¾Y¼Ä′æÆ÷μØÖ·
#define GPS_RBUFF_SIZE            512                   //′®¿ú½óêÕ»o3åÇø′óD¡
#define HALF_GPS_RBUFF_SIZE       (GPS_RBUFF_SIZE/2)    //′®¿ú½óêÕ»o3åÇøò»°ë  

/* íaéè */
/*******************************************************/
//GPS′®¿ú2¨ìØÂê
#define GPS_USART_BAUDRATE                    9600

#define GPS_USART                             USART2
#define GPS_USART_CLK                         RCC_APB1Periph_USART2
#define GPS_RCC_PeriphClockCmd_Fun            RCC_APB1PeriphClockCmd

#define GPS_USART_RX_GPIO_PORT                GPIOD
#define GPS_USART_RX_GPIO_CLK                 RCC_AHB1Periph_GPIOD
#define GPS_USART_RX_PIN                      GPIO_Pin_6
#define GPS_USART_RX_AF                       GPIO_AF_USART2
#define GPS_USART_RX_SOURCE                   GPIO_PinSource6

#define GPS_USART_TX_GPIO_PORT                GPIOD
#define GPS_USART_TX_GPIO_CLK                 RCC_AHB1Periph_GPIOD
#define GPS_USART_TX_PIN                      GPIO_Pin_5
#define GPS_USART_TX_AF                       GPIO_AF_USART2
#define GPS_USART_TX_SOURCE                   GPIO_PinSource5
/************************************************************/

//DMA
#define GPS_USART_DMA_STREAM             DMA1_Stream5
#define GPS_DMA_IRQn                     DMA1_Stream5_IRQn         //GPSÖD¶ÏÔ′
#define GPS_USART_DMA_CLK                RCC_AHB1Periph_DMA1
#define GPS_USART_DMA_CHANNEL            DMA_Channel_4

/* íaéè±êÖ¾ */
#define GPS_DMA_IT_HT                DMA_IT_HTIF1
#define GPS_DMA_IT_TC                DMA_IT_TCIF1


/* ÖD¶Ïoˉêy */
#define GPS_DMA_IRQHANDLER           DMA1_Stream5_IRQHandler   //GPSê1óÃμÄDMAÖD¶Ï·tÎñoˉêy

上面的代码就是改的对应的USART,APB2,DMA设置,都已经改成PD5,PD6的对应参数了。。。。。但就是读不出来
现在只能是把PB10,PB11换成同样是USART3的PC10,PC11,才有结果。。。。。。。。。
求指教


回复

使用道具 举报

发表于 2018-12-24 17:36:50 | 显示全部楼层
是串口完全没数据吗,是不是通道没选对
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-24 21:39:12 | 显示全部楼层
请问具体说的是什么通道,是USART1,2,3选取吗,还是GPIOA,B,C的选取
回复 支持 反对

使用道具 举报

发表于 2020-4-14 14:43:34 | 显示全部楼层
各位,我明白怎么回事了,是这样的:
因为USART2的RX端口使用的是PA3或PD6,而我们根据STM32F429挑战者的开发板原理图的引脚分配可以看出,LTDC液晶显示屏刚好占用了PA3和PD6这两个引脚,因此如果在STM32F429挑战者的开发板上进行串口修改的话,就不能用USART2,但是经过我的尝试,可以改成USART1的PA9、PA10(但要注意把开发板上的RX—A9和TX—A10跳帽拔掉才可以)或是同样为USART3的PC10、PC11引脚进行GPS的串口数据接收工作。
图2就是我改成USART1的代码,测试有效。
QQ截图20200414143210.png
QQ截图20200414143824.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-8 19:47 , Processed in 0.103465 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表