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

STM32 ZIBEE DL-20 无线串口模块

 一.配置方法

 二.串口中断

u8 i;
u16 buf[20],res;
u8 receiving_flag = 0; // 新增一个标志,用于标记是否开始接收数组
void USART1_IRQHandler(void)
{if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断{res = USART_ReceiveData(USART1);if(receiving_flag == 0){i=0;buf[0] = res;if(res == 'B'){receiving_flag = 1;i++;}}else if(receiving_flag == 1){buf[i] = res;i++;if(res == 'E'){receiving_flag = 2;}if(i>=19){i = 0;receiving_flag = 0;}}USART_ClearFlag(USART1, USART_FLAG_RXNE);}
}void Usart1_Init(unsigned int baud)
{GPIO_InitTypeDef gpio_initstruct;USART_InitTypeDef usart_initstruct;NVIC_InitTypeDef nvic_initstruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//PA9	TXDgpio_initstruct.GPIO_Mode = GPIO_Mode_AF_PP;gpio_initstruct.GPIO_Pin = GPIO_Pin_9;gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &gpio_initstruct);//PA10	RXDgpio_initstruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;gpio_initstruct.GPIO_Pin = GPIO_Pin_10;gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &gpio_initstruct);usart_initstruct.USART_BaudRate = baud;usart_initstruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;		//无硬件流控usart_initstruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;						//接收和发送usart_initstruct.USART_Parity = USART_Parity_No;									//无校验usart_initstruct.USART_StopBits = USART_StopBits_1;								//1位停止位usart_initstruct.USART_WordLength = USART_WordLength_8b;							//8位数据位USART_Init(USART1, &usart_initstruct);USART_Cmd(USART1, ENABLE);														//使能串口USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);									//使能接收中断nvic_initstruct.NVIC_IRQChannel = USART1_IRQn;nvic_initstruct.NVIC_IRQChannelCmd = ENABLE;nvic_initstruct.NVIC_IRQChannelPreemptionPriority = 0;nvic_initstruct.NVIC_IRQChannelSubPriority = 2;NVIC_Init(&nvic_initstruct);}

三.子板获取数据
 

//反向控制接受
void toContent(){if(receiving_flag == 2){receiving_flag = 0;for(a = 0; a < 20; a++) {				 if(buf[a]=='W'){maxyw=buf[a+1];		 }if(buf[a]=='x'){yw=buf[a+1];		 }if(buf[a]=='b'){FLAME=buf[a+1];		 }}}
}

四.主板发送数据

void zigbeTOb(){if(time_count>100){time_count = 0;USART_SendData(USART1,'B');delay_ms(1);USART_SendData(USART1,'x');delay_ms(1);USART_SendData(USART1,yw);delay_ms(1);USART_SendData(USART1,'b');delay_ms(1);USART_SendData(USART1,FLAME);delay_ms(1);USART_SendData(USART1,'E');delay_ms(1);}
}

相关文章:

  • Linux Netlink机制:现代网络通信的核心
  • C++ set和map
  • 5月2日日记
  • 普通IT的股票交易成长史--20250502 突破(1)
  • 动态规划算法精解(Java实现):从入门到精通
  • [HOT 100] 0124. 二叉树中的最大路径和
  • 从零开始讲DDR(8)——AXI 接口MIG 使用(1)
  • 滥用绑定变量导致Oracle实例宕机
  • nt!NtReplyWaitReceivePortEx函数分析之nt!LpcpMoveMessage拷贝csr_api_msg
  • NV162NV172美光固态颗粒NV175NV188
  • 010302-oss_反向代理_负载均衡-web扩展2-基础入门-网络安全
  • AI日报 · 2025年05月02日 | 再见GPT-4!OpenAI CEO 确认 GPT-4 已从 ChatGPT 界面正式移除
  • Linux——进程终止/等待/替换
  • # 前后端分离象棋对战项目开发记录
  • AE/PR插件 转场创建大师专业版 Transition Master Pro v2.0.2 Win+使用教程
  • 2025年- H21-Lc129-160. 相交链表(链表)---java版
  • Spring Boot 集成 Elasticsearch 的详细步骤
  • new的几种形式
  • Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
  • 创意效率双提升,AIGC让增长更轻盈
  • 辛涛任山东第一医科大学副校长,曾为“博士服务团”成员
  • 最火“五一”预订!小长假前两日多地接待游客量两位数增长,出境游订单井喷
  • 德国斯图加特发生车辆冲撞人群事件,至少三人受伤
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 美国务院宣布新一轮与伊朗相关的制裁
  • 民生访谈|支持外贸企业拓内销,上海正抓紧制定便利措施