之前一直用的固件库跑c8t6和zet6,现在有幸接触到stm32H743用到HAL库,学习嘛都是踩坑,csdn,然后...理解底层库的代码本人有幸遇到了H7的串口中断接收只进去一次的Bug,于是马上csdn,才发现网上全是在回调函数里写接收处理的逻辑,而我不一样,可能我比你们帅我就要把接收逻辑写在中断服务函数里面(狗头),其实是因为最先接触的板子是103的c8t6所有例程都是在服务函数里处理的,所有养成了习惯,做H7的工程时就直接移植了;但找了2天我也没在网上没有找到将逻辑写在服务函数里面的,于是乎,花费一天时间看HAL库的串口驱动程序,终于!调通了,话不多说,上!代!码!串口初始化和固件库的
SPI基础内容参考:嵌入式常见接口协议总结_路溪非溪的博客-CSDN博客SPI的补充:通信的起始和停止信号NSS又由高变低,是SPI通信的起始信号。NSS由低变高,是SPI通信的停止信号,表示本次通信结束。IIC的任何一个设备既可以作为主设备,也可以作为从设备,但是SPI主从是事先确定的。关于SPI时序图有一些疑问,有的地方说,发送和接收是同时进行的,但是有的老师又说是在一个边沿发送,但是在另一个边沿接收?我自己看时序图,都只是说在某个边沿采集,并没有提到一个边沿发送一个边沿接收的问题。其实这里面的接收有两个意思,一个是主机的发送和接收,一个是主机发送,从机的接收。数据在边沿被采集,发送数据应
SPI基础内容参考:嵌入式常见接口协议总结_路溪非溪的博客-CSDN博客SPI的补充:通信的起始和停止信号NSS又由高变低,是SPI通信的起始信号。NSS由低变高,是SPI通信的停止信号,表示本次通信结束。IIC的任何一个设备既可以作为主设备,也可以作为从设备,但是SPI主从是事先确定的。关于SPI时序图有一些疑问,有的地方说,发送和接收是同时进行的,但是有的老师又说是在一个边沿发送,但是在另一个边沿接收?我自己看时序图,都只是说在某个边沿采集,并没有提到一个边沿发送一个边沿接收的问题。其实这里面的接收有两个意思,一个是主机的发送和接收,一个是主机发送,从机的接收。数据在边沿被采集,发送数据应
智能安全辅助驾驶系统STM32——MQ3酒精传感器的应用(HAL库)准备:MQ3酒精传感器一个、STM32开发板(本实验采用F103RCT6,其他型号可参考本文同理设置)一、MQ3酒精传感器的介绍MQ3酒精传感器主要用于酒精检测,其原理是使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本传感器。该模块主要特
智能安全辅助驾驶系统STM32——MQ3酒精传感器的应用(HAL库)准备:MQ3酒精传感器一个、STM32开发板(本实验采用F103RCT6,其他型号可参考本文同理设置)一、MQ3酒精传感器的介绍MQ3酒精传感器主要用于酒精检测,其原理是使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本传感器。该模块主要特
零、为什么写这篇博客?写程序的时候串口时陪伴我们DEBUG的好伙伴,同时也在一些项目中充当着数据上传的主要通道。因为它用得太频繁了,所以把一些常用的代码和使用心得写在这里,在新建项目的时候可以很方便的抄代码和规避错误。(本文主要针对HAL库)一、串口的几种使用方法1、轮询方式发送和接收主要使用下面两个HAL库的函数。/*串口发送*/HAL_UART_Transmit(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize,uint32_tTimeout);/*串口接收*/HAL_UART_Receive(UART_HandleTypeDef*hu
零、为什么写这篇博客?写程序的时候串口时陪伴我们DEBUG的好伙伴,同时也在一些项目中充当着数据上传的主要通道。因为它用得太频繁了,所以把一些常用的代码和使用心得写在这里,在新建项目的时候可以很方便的抄代码和规避错误。(本文主要针对HAL库)一、串口的几种使用方法1、轮询方式发送和接收主要使用下面两个HAL库的函数。/*串口发送*/HAL_UART_Transmit(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize,uint32_tTimeout);/*串口接收*/HAL_UART_Receive(UART_HandleTypeDef*hu
1、前言在嵌入式Linux开发中,对嵌入式SoC中的GPIO进行控制非常重要,Linux内核中提供了GPIO子系统,驱动开发者在驱动代码中使用GPIO子系统提供的API函数,便可以达到对GPIO控制的效果,例如将IO口的方向设置为输入或输出,当IO口的方向为输入时,可以通过调用API函数获取相应的IO口电平,当IO口设置为输出方向时,可以调用相关的API函数去设置IO口电平,本文将简单描述如何去使用Linux内核中GPIO子系统的API接口。下图是Linux内核中GPIO子系统的软件驱动分层图:2、常用API接口当我们在驱动代码中要使用内核中提供的GPIO子系统,需要在驱动代码中包含头文件,另
1、前言在嵌入式Linux开发中,对嵌入式SoC中的GPIO进行控制非常重要,Linux内核中提供了GPIO子系统,驱动开发者在驱动代码中使用GPIO子系统提供的API函数,便可以达到对GPIO控制的效果,例如将IO口的方向设置为输入或输出,当IO口的方向为输入时,可以通过调用API函数获取相应的IO口电平,当IO口设置为输出方向时,可以调用相关的API函数去设置IO口电平,本文将简单描述如何去使用Linux内核中GPIO子系统的API接口。下图是Linux内核中GPIO子系统的软件驱动分层图:2、常用API接口当我们在驱动代码中要使用内核中提供的GPIO子系统,需要在驱动代码中包含头文件,另
文章目录一、SWD下载方式介绍二、SWD接线三、SWD下载问题四、串口通信总结一、SWD下载方式介绍SWD是ST公司推出的开源的四线下载方式,分别为3V3、SWD、SWCLK、GND,相比JTAG等可以用较少的线来实现下载和仿真。二、SWD接线首先你需要购买一个DAPLINK,tb购买15块钱左右。只需要接到STM32F103C8T6最小系统板上面的同样的这四个排针即完成接线。而对于类似正点原子的精英板等,则需要在JTAG的牛角排插口里面找到对应的这四个脚接线才能使用。三、SWD下载问题写于2022.4首先需要在HAL库里面配置sys的debug方式然后,需要在keil进行配置写于2022.3