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

网站建设服务58阿里网站建设App开发

网站建设服务58,阿里网站建设App开发,建设招标项目常挂网站有哪些,怎么做网站首页psdstm32F103 串口2中断接收指定字符串 USART 初始化和中断配置示例中断处理函数示例关键点总结 确保在串口配置中正确使能空闲中断 ( USART_IT_IDLE) 是关键。这个中断可以帮助你在串口接收一帧数据完成后#xff0c;进行相应的处理和分析。 为了确保你在串口配置时能避免类似问… stm32F103 串口2中断接收指定字符串 USART 初始化和中断配置示例中断处理函数示例关键点总结 确保在串口配置中正确使能空闲中断 ( USART_IT_IDLE) 是关键。这个中断可以帮助你在串口接收一帧数据完成后进行相应的处理和分析。 为了确保你在串口配置时能避免类似问题这里是一个详细的 USART 初始化和中断配置示例 USART 初始化和中断配置示例 #include stm32f4xx.h // 包含相关的 STM32 库头文件void USART2_Init(void) {// USART2 初始化配置GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;// 使能 USART2 和 GPIOA 时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);// 配置 USART2 TXPA2和 RXPA3GPIO_InitStructure.GPIO_Pin GPIO_Pin_2 | GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_OType GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd GPIO_PuPd_UP;GPIO_Init(GPIOA, GPIO_InitStructure);// 连接 USART2 引脚到其 AFGPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2);GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2);// 配置 USART2 参数USART_InitStructure.USART_BaudRate 115200; // 波特率USART_InitStructure.USART_WordLength USART_WordLength_8b;USART_InitStructure.USART_StopBits USART_StopBits_1;USART_InitStructure.USART_Parity USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART2, USART_InitStructure);// 使能 USART2 接收中断和空闲中断USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); // 使能接收中断USART_ITConfig(USART2, USART_IT_IDLE, ENABLE); // 使能空闲中断// 配置 USART2 中断优先级NVIC_InitStructure.NVIC_IRQChannel USART2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1; // 设置优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority 0;NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;NVIC_Init(NVIC_InitStructure);// 使能 USART2USART_Cmd(USART2, ENABLE); }中断处理函数示例 确保你的中断处理函数如下配置以便处理接收数据和空闲中断 void USART2_IRQHandler(void) {u8 clr;if (USART_GetITStatus(USART2, USART_IT_RXNE) ! RESET) { // 接收到一个字节if (i USART2_REC_LEN) { // USART2最大接收字节数限制USART2_RX_BUF[i] USART_ReceiveData(USART2); // 读取一个字节len; // 数据长度计算} else {USART_ReceiveData(USART2); // 读取一个字节主要用于清除RXNE标志}}if (USART_GetITStatus(USART2, USART_IT_IDLE) ! RESET) { // 接收到一帧数据USART2-SR; // 先读SRUSART2-DR; // 再读DR// 确保缓冲区以 \0 结尾if (i USART2_REC_LEN) {USART2_RX_BUF[i] \0;} else {USART2_RX_BUF[USART2_REC_LEN - 1] \0; // 超过缓冲区限制时保证最后一位是 \0}// 字符串比对if (strcmp((const char *)USART2_RX_BUF, pass) 0) {printf(pass111\r\n);} else if (strcmp((const char *)USART2_RX_BUF, fail) 0) {printf(fail111\r\n);} else {printf(Unrecognized command: %s\r\n, USART2_RX_BUF);}// 清空接收缓冲区for (clr 0; clr USART2_REC_LEN; clr) {USART2_RX_BUF[clr] \0;}USART2_RX_STA 0; // 重新开始接收i 0; // 数组下标清0len 0; // 数据长度清0} }关键点总结 使能中断确保启用了接收中断 (USART_IT_RXNE) 和空闲中断 (USART_IT_IDLE)。配置正确的优先级确保 USART2 的中断优先级设置正确以避免被其他中断打断。检查串口连接确保串口连接正常主机端配置一致并且信号稳定。 希望这些信息对你进一步的开发和调试有所帮助如果还有其他问题随时告诉我。
http://www.w-s-a.com/news/76122/

相关文章:

  • vs连接数据库做网站建立网站
  • 电商网站设计图片素材p2p网站建设石家庄
  • 莲塘网站建设如何文字推广一个婚恋网站
  • 医院网站建设工作汇报WordPress不发邮件了
  • 怎么做外语网站个人网页设计作品ps
  • 网站原型怎么做vps如何建两个网站
  • 商城网站建设源码嘉兴seo计费管理
  • 城乡建设网站证件查询系统wordpress 时间代码
  • php网站建设 关键技术做网站哪家正规
  • 网站开发用什么写得比较好谷歌的英文网站
  • 青岛网站建设公司在哪vivo手机商城
  • 兼职刷客在哪个网站做哪个网站做淘宝客
  • 眼科医院网站开发网络营销特点是什么
  • 提交网站给百度增加wordpress插件
  • 网站建设企业官网体验版是什么Wordpress哪个模板最快
  • 美丽说网站模板湖北可以做网站方案的公司
  • 北京西站进站最新规定建设网站的提成是多少
  • wordpress站点如何加速网站建设描述怎么写
  • 如何免费建造网站免费vi模板网站
  • 商丘做网站多少钱扬州大发网站建设
  • 网站建设哪家性价比高自己做项目的网站
  • 成立一个网站济宁营销型网站建设
  • 南通购物网站建设设计类平台网站
  • 专业网站建设咨询thinkphp网站源码下载
  • 怎么制作一个国外网站网站推广找哪家公司好
  • 免费做网站怎么做网站想在网上卖东西怎么注册
  • 淘宝网站建设的策划书网投怎么做网站
  • 如何免费做公司网站视频网站开发视频
  • 网站后台是怎么更新wordpress 大于2m的xm
  • 制作网页设计软件列表案例营销网站优化seo