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

做网站的需求是吗网站优化怎么做ppt

做网站的需求是吗,网站优化怎么做ppt,网站建设合同图表版,广告推广广告本文代码使用 HAL 库。 文章目录前言一、中断控制二、USART中断使用1. 中断优先级设置 #xff1a;2. 使能中断3. 使能UART的发送、接收中断4. 中断收发函数5. 中断处理函数6. 中断收发回调函数三、串口中断实验串口中断发送数据点亮 led#xff1a;实验现象#xff1a;总结… 本文代码使用 HAL 库。 文章目录前言一、中断控制二、USART中断使用1. 中断优先级设置 2. 使能中断3. 使能UART的发送、接收中断4. 中断收发函数5. 中断处理函数6. 中断收发回调函数三、串口中断实验串口中断发送数据点亮 led实验现象总结前言 上一篇文章 详细介绍了 USART 串口 不使用中断 发送接收数据 这篇文章 将介绍如何 使用中断控制 USART 串口 发送接收数据。 对于如何根据 CubeMX 生成 USART 的工程可以参考我的上篇文章也介绍了 关于生成 usart.c 代码的解析 STM32Cube串口USART发送接收数据 一、中断控制 中断 是一种特殊的处理程序能够 临时中断 正在运行的程序以 处理紧急 的事件然后 恢复 正在运行的程序。当 外部事件发生 时中断程序 会被 调用以 处理这些事件。 USART 收发数据时可以 在数据接收之后立即触发中断以此提高数据传输效率。 中断优先级 抢占优先级 抢占优先级可以实现中断嵌套抢占 优先级级数低的可抢占级数高的。 子优先级 子优先级无法实现中断嵌套同一时刻 两个子 优先级不同 的 中断 来临则 先处理优先级高的 即优先级级数低的中断。若 先后发生 则先处理 上一个中断再 处理后面的中断。 一旦确定了优先级组别抢占优先级和子优先级的范围就确定下来了且除非复位否则无法更改。 二、USART中断使用 1. 中断优先级设置 ①使用 CubeMX 设置优先级。 ②也可以使用 HAL_NVIC_SetPriority() 设置优先级 HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)比如将 USART1 的中断设置为次高级优先级 HAL_NVIC_SetPriority(USART1_IRQn, 0, 1); 2. 使能中断 ①使用 CubeMX 使能中断 ②使用 HAL_NVIC_EnableIRQ() 使能中断。 HAL_NVIC_EnableIRQ(IRQn_Type IRQn)3. 使能UART的发送、接收中断 __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__)例如设置 USART1 为 传输完成中断接收数据寄存器不为空中断。 __HAL_UART_ENABLE_IT(huart1, UART_IT_RXNE | UART_IT_RXNE);4. 中断收发函数 //中断发送 HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);//中断接收 HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)5. 中断处理函数 在中断回调函数 USART1_IRQHandler ( ) 中进行中断处理可以调用 HAL_UART_IRQHandler ( )。 /*中断处理函数*/ void USART1_IRQHandler(void) {HAL_UART_IRQHandler(huart1); }6. 中断收发回调函数 重定向 HAL_UART_RxCpltCallback( ) 或 HAL_UART_TxCpltCallback( ) 函数进行进一步任务处理。 /* 中断接收回调函数 */ __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)/* 中断发送回调函数 */ __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)三、串口中断实验 串口中断发送数据点亮 led 对 LED 代码不理解的可以参考我之前的文章详细介绍了 LEDSTM32f103 CubeMX封装 led程序 void Enable(void) /*使能*/ {HAL_NVIC_SetPriority(USART1_IRQn, 0, 1); //中断优先级设置HAL_NVIC_EnableIRQ(USART1_IRQn); //使能中断__HAL_UART_ENABLE_IT(huart1, UART_IT_RXNE | UART_IT_RXNE); } void Disable(void) /*失能*/ {__HAL_UART_DISABLE_IT(huart1, UART_IT_RXNE | UART_IT_RXNE);HAL_NVIC_DisableIRQ(USART1_IRQn); } void USART1_IRQHandler(void) /*中断处理函数*/ {HAL_UART_IRQHandler(huart1); } void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) //中断接收 {if(huart-Instance USART1){re_data 1;} } void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) //中断发送 {if(huart-Instance USART1){tr_data 1;} }这里我就不介绍 printf 的重定向问题了我之前的文章 已详细介绍了 printf 的内容STM32Cube串口USART发送接收数据 a getchar(); //获得一个字符switch(a){case B:{GREEN_ON(); //点亮LEDprintf(Led is on!\r\n); }break;case b:{GREEN_OFF(); //熄灭LEDprintf(Led is off!\r\n); }break;default:break;}实验现象 实验现象 我放在了 B占有兴趣的可以看看 STM32 串口USART 发送数据控制led亮灭 总结 如果有不理解的可以 评论留言 也可以 私信我 大家一起讨论。
http://www.w-s-a.com/news/820964/

相关文章:

  • 刚做的网站搜全名查不到网站很难被百度收录
  • 网站建设与管理期末做网站买空间用共享ip
  • 网络合同怎么签有效南京seo公司哪家
  • 厦门建设网官方网站上海网络网站建
  • 网站制作西安郑州网站建设动态
  • 外贸网站免费推广温州做网站技术员
  • 武冈 网站建设做网站能收回吗
  • 网站做前端把网站扒下来以后怎么做
  • 网站模板素材下载手机做任务佣金的网站
  • 机关网站建设考核测评总结做网站sqlserver排序
  • 凉山州建设厅官方网站html5下载教程
  • 内网网站建设方面政策id97网站怎么做的
  • 福州企业建站系统七米网站建设
  • 长春seo建站北京做机床的公司网站
  • 网站维护具体做啥如何开发wap网站
  • 公司网站设计费计入什么科目潍坊公司网站制作
  • 拖拽式网站开发模具钢东莞网站建设
  • 彩票娱乐网站建设模块化网站开发
  • 孝感网站设计用自己的名字设计头像
  • 高明网站建设哪家好深圳vi设计公司全力设计
  • 工程技术cpu游戏优化加速软件
  • 一起做网店网站入驻收费wordpress 自定义评论样式
  • 深圳高端网站建设公司排名app软件开发sh365
  • 泰州网站整站优化惠州做网站多少钱
  • 做博客网站的php代码一建论坛建工教育网
  • 邢台网站制作费用单页营销网站后台
  • 红色网站建设的比较好的高校用vs2010做购物网站
  • 网站域名备案号查询网页设计实验报告总结模板
  • 什么软件 做短视频网站好大型论坛网站建设
  • 视频网站用什么cms网络运营与维护主要做什么