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

STM32_标准库转hal库

1.串口UART

接收:

阻塞式:HAL_UART_Receive( )

阻塞式接收,有四个传参,串口句柄,要传输数据的地址,数据大小,超时时间,只有当接收到规定的字节或到阻塞最大时间程序才会继续运行

非阻塞式HAL_UART_Receive_IT()

非阻塞式接收数据,有三个参数,串口句柄,接收数据的地方,数据大小,当接收完相应大小数据就会进入中断回调函数,这个中断回调函数是全部串口共用的,所以使用时要先判断是那个串口来的数据

中断回调函数:void HAL_UART_RxCpltCallback  (UART_HandleTypeDef *huart)

要启用中断回调函数必须在配置串口时配置串口的中断,图中的nvic,当使用非阻塞式接收函数和发送函数带IT的函数,就会进入这个函数,这个函数是所有串口共用的,使用时要判断是那个串口触发的这个函数

与DMA配合:HAL_UART_Receive_DMA()

这个也是非阻塞式,有三个传参,串口句柄,接收数据的地方,数据大小,接收到的数据通过DMA直接存进接收数据的地方,不需要CPU干预

发送

阻塞式:HAL_UART_Transmit( )

有四个传参,串口句柄,要传输数据的地址,数据大小,超时时间

非阻塞式HAL_UART_Receive_IT()

有三个参数,串口句柄,发送数据的地址,数据大小,当发送完相应大小数据就会进入中断回调函数

与DMA配合:HAL_UART_Receive_DMA()

HAL_UART_Transmit_DMA()函数用于在DMA模式下启动串口数据发送。DMA控制器会自动将数据从内存缓冲区搬运到串口发送数据寄存器,整个过程无需CPU干预

2.ADC

过程

ADC使用整体过程:校准—>开启ADC转换——>读取ADC值

校准:HAL_ADCEx_Calibration_Start()

使用adc必须得使用这个函数

开启转换模式

规则组普通转换:HAL_ADC_Start() 

注入组:HAL_ADCEx_InjectedStart()

只有一个参数

规则组转换后进回调函数:HAL_ADC_Start_IT()

注入组:HAL_ADCEx_InjectedStart_IT()

只有一个参数

规则组与DMA配合:HAL_ADC_Start_DMA()

注入组:HAL_ADCEx_InjectedStart_DMA()

这个函数有两个参数,ADC句柄,接收数据的地址,这个函数也会触发ADC的回调函数

获取值

规则组:HAL_ADC_GetValue()

注入组:HAL_ADCEx_InjectedGetValue()

注入组ADC回调函数:HAL_ADCEx_InjectedConvCpltCallback( )

规则组ADC回调函数 :void HAL_ADC_ConvCpltCallback    (ADC_HandleTypeDef* hadc)

ADC的回调函数也是一样,全部ADC共用这个函数,所有使用时也要判断一下是那个触发的函数

3.定时器

开启

普通开启:HAL_TIM_Base_Start();

中断开启:HAL_TIM_Base_Start_IT()

开启后可进中断回调函数

与DMA配合:HAL_TIM_Base_Start_DMA()

关闭

HAL_TIM_Base_Stop()

HAL_TIM_Base_Stop_IT()

HAL_TIM_Base_Stop_DAM

设置参数

计数器:__HALTIM_SET_COUNTER()

设置计数器的值

自动重传器 :__HAL_TIM_SET_AUTORELOAD ( );

设置CRR:__HAL_TIM_SET_COMPARE ();

定时器回调函数:HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

http://www.dtcms.com/a/610906.html

相关文章:

  • 织梦怎么做单页网站创建网站的工作流程
  • 做网站流量是什么上海制作网站的公司
  • PHP安装ZSTD压缩库扩展
  • 完美解决phpstudy安装后mysql无法启动
  • 新能源知识库(124)新能源接入对电能质量的影响
  • 磁共振成像原理(理论)28:饱和恢复序列 (Saturation-Recovery Sequence)
  • 桂林网站开发公司电话2345网址导航怎么彻底删掉win10
  • 网站册数平面设计可以自学吗
  • Boost库中Boost.PropertyTree使用和实战示例
  • 公司网站维护建设费入什么科目广东华电建设股份有限公司网站
  • 上海营销型网站建设价格线上运营推广是做什么的
  • 织梦绿色企业网站模板 苗木企业网站源码 dedecms5.7内核WordPress 营利
  • 高端建设网站建设北京网站建设最好公司
  • 成都制作网站软件网站建设新闻稿
  • 网站地图格式wordpress安装虚拟主机
  • 代理模式啦
  • 自动化测试:Python开发IDE介绍
  • 国产操作系统调研报告:产业现状与未来方向
  • 好用的远程软件!ToDesk、向日葵、UU远程横测
  • 商务网站建设用的是什么软件成都比较好的设计公司
  • ESP32基础-PWM_步进电机
  • (修改认证方式、设置密码策略);)Zabbix安装(配置清华源、安装必要组件);)数据库初始化(创建库/用户、导入数据);)服... ...
  • 爱网站在线观看视频vi展示效果图
  • 网站ip地址查询域名网站建设388
  • 郑州网站建设价格wordpress编辑文章更新失败
  • 打造“移动的风景线”:RTMP推流平台EasyDSS无人机推流直播实现文旅宣传新形态
  • 测试测试测试测试测试
  • 异形零件自动化排列:整列机与传统振动盘的 5 大技术维度解析
  • google网站质量做网站的网页用什么软件好
  • 深度学习:正则化(Regularization)实践(无正则化 vs 有正则化(L2 正则化、Dropout))