推荐阅读最新更新时间:2024-03-16 14:45
STM32串口实时接收数据与所提前定义的比较,并作出相应的操作
//typedef const uint16_t uc16; /*! Read Only */ uc16 BUF ={162,170,178,187,197,206,216,227,238,249}; u16 value;//可以是串口实时接收到的一些数据 void main(void) { for(i=0;i 10;i++) { if(value BUF ) { /* 这里可以写一些操作 */ } } }
[单片机]
STM32_TIM延时讲解
今天讲解STM32F103定时器延时功能,TIM的功能很强大,后续慢慢讲解。今天从简单开始讲解定时器,以下面软件工程实例来讲述。 软件工程下载地址(360云盘): https://yunpan.cn/cP5utM7kxIReM 访问密码 6f12 工程现象:间隔(定时器延时)500ms LED变化一次, 并且串口打印 STM32F103ZE有8个定时器(TIM1 – TIM8), 这里工程使用TIM4为例。 STM32F10x的资料可以在我360云盘下载: https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90 关于TIM延时,我把重要的几点在下面分别讲述,工程中没有在这里
[单片机]
如何将STM32单片机的JTAG口作为GPIO使用
使用STM32F系列,会遇到将JTAG口复用为SPI1或直接用做普通IO。 针对于F1系列,需要先禁止使能 JTAG,然后将其复用为其他口或者普通IO。 针对F4系列,STM32F4库函数中,已经取消了GPIO_*PinRemapConfig()函数,对于复用功能使用GPIO*_PinAFConfig()函数了! 但是在GPIO_PinAFConfig()函数已经没有禁止JTAG/SW等选项了,而是复用到AF0~AF15线上,其中AF0是系统功能(也是复位初始功能)。 其中调试接口就是系统功能,这样需要禁用JTAG功能只需把引脚复用到AF1~AF15中的一个就行了。 直接复用就可使用相应的复用功能,不用想着失能
[单片机]
HC-SR04超声波模块驱动(STM32)
一、前期准备 单片机:STM32F103C8T6 开发环境:MDK5.14 库函数:标准库V3.5 HC-SR04模块:淘宝有售 二、实验效果 三、驱动原理 触发信号Tirig维持10Us以上的高电平即可等待Echo的返回,这里是用EXTI检测俩个跳变信号,去打开和关闭定时器,最后一次测量计算结果后清除定时器计时,并等待下一个循环开始。需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。 四、驱动代码 US-020.h #ifndef __US_020_H__ #define __US_020_H__ #include stm32f10x.h #include gpio.h #include
[单片机]
STM32 CAN 过滤器分析小结
最近看了下STM32 CAN 通讯 其中标示符过滤器设置大有讲究。特别是你要使用ST库函数时,当过滤器工作在屏蔽模式下,并且你把屏蔽位设了1也就是标示符对应位必须全部匹配才能通过,这是由其要小心。 举个例子吧,过滤器长度为32位,模式为屏蔽模式,假如我要发送的标示符为0x1314;那过滤器设置如下 一、过滤器完全无效 接收到的标示符全部通过 0x1314 二进制码: 0000 0000 0000 0000 0001 0011 0001 0100 CAN_Filter xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx CAN_FilterMask 0000 0000 0000 0
[单片机]
STM32 AD C单次转换模式 连续转换模式 扫描模式
举例 用ADC1 规则通道的顺序为CH0,CH1,CH2,CH3, 不启动SCAN模式,在单次转换模式下: 启动ADC1,则 1.开始转换CH1(ADC_SQR的第一通道) 转换完成后停止,等待ADC的下一次启动,继续从第一步开始转换 不启动SCAN模式,在单次连续转换模式下: 启动ADC1,则 1.开始转换CH0(ADC_SQR的第一通道) 转换完成后回到第一步。 启动SCAN模式,在单次转换模式下: 启动ADC1,则 1.开始转换CH0、 2.转换完成后自动开始转换CH1 3.转换完成后自动开始转换CH2 4.转换完成后自动开始转换CH3 5.转换完成后停止,等待ADC的下一次启动下一次ADC启动后从第一步开始转换 启动S
[单片机]
STM32端口复用与重映射
STM32上有很多I/O口,也有很多的内置外设,像I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的。设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现引脚的重新映射。这时,复用功能不再映射到它们的原始分配上。使用方法: 简单的说 STM32的 io 有3个功能一个是默认的,一个是复用,一个是重映射功能(这个其实也属于复用)。如果配置成复用,则将使用第2个功能;同时,相应的重映射配置了,则将使用第3个
[单片机]
基于VSCode搭建STM32开发环境
众所周知, Keil 是一款收费软件,虽然可以Po解使用,但很多 公司 还是有点害怕,想必有不少读者都收到过**函。 之前,开发 单片机 项目,可以说 Keil 是最佳选择之一,但VSCode横空问世之后,这种格局被打破。 因为 VSCode 免费且好用,可以安装各种插件,很多 工程师 逐渐从Keil 转向了 VSCode。而且,VSCode还能实现 Keil 不能实现的一些功能。 下面就给大家分享一下 VSCode 搭建 STM32 开发环境的一些常规且使用的功能。 一、需要的软件和工具 下载 最新版 VS Code: 安装好插件,具有良好的代码补全与调试功能。 下载 LLVM:用于代码补全,其实可以理解
[单片机]