野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8754|回复: 2

脉冲信号灯闪烁了以后为哈串口输出的还都是零?

[复制链接]
发表于 2016-9-24 17:30:00 | 显示全部楼层 |阅读模式
1.png


接上GPS模块后,时间脉冲指示灯也闪烁了,为什么定位信息输出的还都是零呢,如上图所示,表示不理解
回复

使用道具 举报

发表于 2016-9-24 17:51:30 | 显示全部楼层
选择GPS定位功能,而且要接有源天线,不然信号不不够强。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-24 19:47:44 | 显示全部楼层
好的,待会我试一下,
还有一个程序的问题,火哥

  1. static void GPS_DMA_Config(void)
  2. {
  3.                 DMA_InitTypeDef DMA_InitStructure;
  4.        
  5.                 /*开启DMA时钟*/
  6.                 RCC_AHBPeriphClockCmd(GPS_DMA_CLK, ENABLE);

  7.                 /*设置DMA源:串口数据寄存器地址*/
  8.                 DMA_InitStructure.DMA_PeripheralBaseAddr = GPS_DATA_ADDR;          

  9.                 /*内存地址(要传输的变量的指针)*/
  10.                 DMA_InitStructure.DMA_MemoryBaseAddr = (u32)gps_rbuff;

  11.                 /*方向:从内存到外设*/               
  12.                 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;       

  13.                 /*传输大小DMA_BufferSize=SENDBUFF_SIZE*/       
  14.                 DMA_InitStructure.DMA_BufferSize = GPS_RBUFF_SIZE;

  15.                 /*外设地址不增*/            
  16.                 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

  17.                 /*内存地址自增*/
  18.                 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;       

  19.                 /*外设数据单位*/       
  20.                 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;

  21.                 /*内存数据单位 8bit*/
  22.                 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;         

  23.                 /*DMA模式:不断循环*/
  24.                 DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;         

  25.                 /*优先级:中*/       
  26.                 DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;  

  27.                 /*禁止内存到内存的传输        */
  28.                 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

  29.                 /*配置DMA的通道*/                  
  30.                 DMA_Init(GPS_DMA_CHANNEL, &DMA_InitStructure);           
  31.    
  32.     GPS_Interrupt_Config();
  33.                
  34.     DMA_ITConfig(GPS_DMA_CHANNEL,DMA_IT_HT|DMA_IT_TC,ENABLE);  //配置DMA发送完成后产生中断

  35.                 /*使能DMA*/
  36.                 DMA_Cmd (GPS_DMA_CHANNEL,ENABLE);               
  37.    
  38.     /* 配置串口 向 DMA发出        RX请求 */
  39.                 USART_DMACmd(GPS_USART, USART_DMAReq_Rx, ENABLE);
复制代码


最后一句程序,为什么要发送RX的请求呢?DMA的方向不应该是从USART2的数据寄存器到存储器么,USART2为什么要用使能接收的DMA模式呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 18:12 , Processed in 0.030209 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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