当前位置: 首页 > article >正文

【STM32F1】——无线收发模块RF200与串口通信

【STM32F1】——无线收发模块RF200与串口通信

一、简介

本篇主要对调试无线收发模块RF200的过程进行总结,实现了以下功能。

  1. 串口普通收发:使用STM32F103C8T6的USART2串口接收中断,实现两个无线收发模块RF200间的通信。

二、RF200介绍

  1. 电压:3.4-5.5V
  2. 工作频率:418~455MHz
  3. 发射功率:100mW
  4. 工作范围:1500m
  5. 通信方式:UART(默认9600波特率)
  6. 尺寸:39.5 * 18.3 * 7.0 mm

三、RF200的普通串口通信

  1. 接线
    在这里插入图片描述

  2. 程序简介:使用STM32F103C8T6的USART2实现9轴姿态模块JY901串口数据的读取,并利用USART1发送到串口助手。

  3. 实现思路

    1)配置串口USART2,开启接收中断
    2)配置串口发送函数
    3)进行模块间的通信(RF200-2发送数据,RF200-1发指令点亮MCU的灯)

  4. 代码解析
    1)串口USART2配置(RF200使能)

    波特率9600

    void RF200_Init(void)
    {
         
    	// 时钟使能
    	RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); //初始化USART外设
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  //由于USART外设在GPIOA 所以初始化GPIO
    	// 发送串口
    	GPIO_InitTypeDef GPIO_InitStructure;		
    	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  // TX 输出设置为复用推挽输出  这里只用到了发送 
    	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
    	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    	GPIO_Init

http://www.kler.cn/a/393100.html

相关文章:

  • redis bind 127.0.0.1和bind 10.34.56.78的区别
  • WebGIS三维地图框架--Cesium
  • 微服务day07
  • Kafka - 启用安全通信和认证机制_SSL + SASL
  • FreeRTOS学习13——任务相关API函数
  • 040 线程池
  • 使用Java绘制图片边框,解决微信小程序map组件中marker与label层级关系问题,label增加外边框后显示不能置与marker上面
  • go reflect 反射
  • 若依笔记(八):芋道的Docker容器化部署
  • 什么是 ISP:了解互联网服务提供商的作用
  • Vue 3 在现代前端开发中的应用
  • 【大数据学习 | HBASE高级】hbase的参数优化
  • 【Linux】linux编辑器-vim的命令及配置
  • Qt_day5_常用类
  • 图像处理实验四(Adaptive Filter)
  • 华为eNSP:MSTP
  • TensorFlow 2.0 环境配置
  • 常见git命令记录
  • 要查看你的系统是 x64(64位)还是 x86(32位),可以按照以下步骤操作
  • python高级之面向对象编程
  • 并发编程(10)——内存模型和原子操作
  • 【故障解决】麒麟系统右下角网络图标取消显示叹号
  • 基于Java人力资源管理系统
  • session的工作原理
  • OpenCV DNN
  • 【图文】【DIY便签】如何自行编译OPENCV使用动态库