BD2/GPS 双模接收机模块STM32F103x开发

一、模块型号

1.1 芯片型号在这里插入图片描述
1.2 芯片连接方式

原理图
在这里插入图片描述
PCB图
在这里插入图片描述

1.3 引脚连接
UM-220 定位芯片主要就是 3 个引脚,其它看 1.2的原理图
RXD2PB10
TXD2PB11
NRESET虽然接了PC 6,但是并没有初始化,使用这个引脚
串口调试模块
5V5V
TXDPA10
RXDPA9
GNDGND
ST-LINK
SWCLK缺口靠左-左排-上至下-第5 个针
SWDIO缺口靠左-左排-上至下-第4 个针
GND缺口靠左-右排-上至下-最后1个针
3.3v缺口靠左-右排-上至下-第2 个针
1.4

在这里插入图片描述

二、程序开发

程序链接:

https://download.csdn.net/download/qq_37788383/11887759

2.1 main 函数

#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "bds.h"

extern double current_jing,current_wei;  //bds 当前 点坐标

extern void uart3_init(u32 bound);
extern void send_bds_order(void);
extern unsigned char bds_locate_display(void);

 int main(void)
 {	
   delay_init();	    	 //延时函数初始化	
	 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	//设置NVIC中断分组2:2位抢占优先级,2位响应优先级 
	 uart_init(9600);      //串口 1 用于调试
   uart3_init(9600);     //北斗发送数据的串口
	 
	 send_bds_order();    //向北斗发送指令 ,一般要在 20s 之后,要是还收不到数据,就失败哦。
	 while(1){
			bds_locate_display();  //北斗 显示当前的位置坐标
			
			printf("经 度是:%f \r\n",current_jing);  
			printf("	\r\n");
			printf("纬 度是:%f \r\n",current_wei);
			printf("	\r\n");
			printf("	\r\n");
			printf("	\r\n");
			delay_ms(3000);
		}
 }

2.2 .h 头文件

#ifndef __USART_H
#define __USART_H
#include "stdio.h"	
#include "sys.h" 

//如果想串口中断接收,请不要注释以下宏定义
void uart3_init(u32 bound);
void send_cmd3(unsigned char *cmd);
void send3(unsigned char ch);

void send_bds_order(void);
unsigned char bds_locate_display(void);

#endif
posted @   bruce_lp  阅读(262)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示