STM32
文章平均质量分 69
有关STM32的相关内容
好好睡觉好好吃饭
这个作者很懒,什么都没留下…
展开
-
STM32--bit-band 位带操作
【代码】STM32--bit-band 位带操作。原创 2023-10-26 14:56:46 · 42 阅读 · 0 评论 -
IIC通讯:IO口模拟时序
IIC是(串行、半双工(一条数据线)、同步)的通信。原创 2023-10-20 14:22:58 · 157 阅读 · 0 评论 -
通讯三:SPI通信
SPI主设备和从设备都有一个。原创 2023-10-06 11:03:59 · 74 阅读 · 0 评论 -
RS485+ModBus-RTU协议
RS485:串行、半双工。Modbus是一种串行通信协议。Modbus是一种一主一从的一对一通信方式(主机发一帧,从机回一帧的形式),当然也一主多从,但实际也是一对一通信,同一时刻只能有一个从机进行响应。如果需要和多个从机同时通信,这里也支持使用广播,即主机发送指令,所有从机接收指令并执行,但不进行应答。当进行一主多从通信时,主机通过从机ID号来区分要通信的从机设备。从机ID范围为1~ 247,0为广播地址,248~255为用户自定义地址。目前总共有4种通信形式,RTU、ASCII、TCP、Plus。原创 2023-09-22 16:52:30 · 2620 阅读 · 3 评论 -
定时器---输入捕获
也就是说连续N次采样,如果都是高电平,则说明这是一个有效的触发,就会进入输入捕捉中断(如果设置了的话)。其中:fCK_INT是定时器的输入频率,fDTS是根据TIMx_CR1的CKD[1:0]的设置来确定的。:预设分频系数,和捕获沿,检测定时器通道输入的边沿信号,当信号发生跳变时,将定时器当前值寄存器CNTx的值存入捕获比较寄存器CCRx中。它是由TIMx_CCMR1寄存器的CC1S位配置的,一般情况下,一般情况下通道1映射到IC1,通道2映射到IC2。,它是由CCER的CC1P位来配置的。原创 2023-09-05 09:47:05 · 1599 阅读 · 1 评论 -
定时器---输出PWM
PWM就是脉冲宽度调制,通过调节占空比就可以调节脉冲宽度。周期:T=1/f,T是周期,f是频率。如果频率为50Hz ,也就是说一个周期是20ms,那么一秒钟就有 50次PWM周期。占空比:脉宽时间/周期。原创 2023-09-01 20:53:56 · 646 阅读 · 1 评论 -
通用定时器---中断---定时器实现时间片
【代码】通用定时器---中断---定时器实现时间片。原创 2023-09-01 20:38:38 · 273 阅读 · 1 评论 -
DMA直接存储器访问
STM32最多有2个DMA控制器(DMA2仅存在大容量产品中)DMA1有7个通道。DMA2有5个通道。还有一个仲裁起来协调各个DMA请求的优先权。原创 2023-08-27 22:19:48 · 93 阅读 · 0 评论 -
ADC模数转换
例如图5,转换模拟量,得到的电压值为3V,超过了我设置的高阈值2V,结果触发模拟看门狗中断。高阈值由“ADC看门狗高阀值寄存器(ADC_HTR)”设置,低阈值由“ADC看门狗低阀值寄存器(ADC_LRT)”设置,因为ADC数据是12位的,因此这两个寄存器也使用12个位来设置其阈值,即最大值为4095(0xFFF),ADC->HTR=阈值/3.3*4095。的方法,将新的转换数据替换掉旧的转换数据,因此,单个通道转换完成后,必须先读取它的数据(读取DR寄存器),才可以继续下个转换,否则数据会被覆盖。原创 2023-08-27 17:13:25 · 1094 阅读 · 0 评论 -
定时器---详解
因此,改变 CCRx 的值,就可以改变 PWM 输出的占空比,改变 ARR 的值,就可以改变 PWM 输出的周期(频率),这就是利用定时器输出PWM 的基本原理。● 16位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1~65536之间的任意。(psc+1)/Tclk为CNT计数一次的时间,乘以整个周期计数的次数(ARR+1),即可求出超时时间。如果使能更新中断,在CNT的值超过ARR设置的值的时候,产生(溢出)更新中断。计数器频率CK_CNT=CK_PSC/(psc+1)原创 2023-08-28 20:26:53 · 441 阅读 · 1 评论 -
通讯一:串口通信
9600表示每秒9600位,每个字节是8位, 如果外加1个起始位和1个停止位,那就要10个位才能传送1个字节, 理论速度为:9600/10 = 960 字节每秒。在原理图中的TX、RX为模块的输出端与接收端,标号表示连载一起,单片机原理图上的连接点也是表示模块的引脚。通过判断USART_IT_RXNE 总线上在一个字节的时间内没有再接收到数据时发生。USART_IT_RXNE 接收缓存器标志位 如果有数据接收到该位置一。USART_IT_IDLE 空闲标志位 如果数据接收完毕该位置一。原创 2023-08-20 19:47:46 · 215 阅读 · 2 评论 -
通信:UART、I2C、CAN、SPI、RS485
CAN是多主从结构,每个节点都有CAN控制器,多个节点发送时,以发送的ID号自动进行仲裁,这样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马上发送,这样省了主机的问,提高了总线利用率,增强了快速性。单主从结构,即一个总线上只能有一台主机,通讯都由它发起的,它没有下命令,下面的节点不能发送,而且要发完即答,收到答复后,主机才向下一个节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。如果是一主多从,从机靠自身地址区分。多主控,主器件同时争夺总线控制权时,可仲裁)。原创 2023-08-20 18:02:33 · 152 阅读 · 1 评论 -
端口复用与重用设
复用功能下和GPIO 的模式的对应可以查看 **《STM32中文数据手册》——通用/复用功IO——8.1.11表格。**在原理图中找到引脚后,可用于查看相应的外设功能配置。而 PB0 和 PB1 和没有重映射情况是一样的,是 TIM3_CH3 和TIM3_CH4对应管脚。STM32 有很多的内置外设(比如:串口、ADC、DAC等是独立的模块和内核连接在一起),每个内置外设都有若干个输入输出引脚,一般这些引脚的输出端口都是固定不变的,把。重映射会改变引脚的物理位置。改变引脚的物理位置可能会。原创 2023-08-25 10:17:43 · 52 阅读 · 1 评论 -
外设中断NVIC、EXTI
EXTI线19————以太网唤醒事件(只适合于互相联网产品)分组不同,抢占优先级与响应优先级的占位不同,一般设置为组2。外设产生中断信号->交给EXTI->交给内核NVIC。先看抢占,再看响应,数字越小,优先级越高。有三种:具体看检测到的第一个出现的边沿信号。STM32每个io口都可以设置为中断。EXTI线17————RTC闹钟事件。EXTI线18————USB唤醒事件。EXTI线16————PVD输出。1.初始化中断使用的io口为输入。2.配置中断分组,和优先级。EXTI共有0-15,原创 2023-08-17 18:41:36 · 153 阅读 · 1 评论 -
GPIO引脚
. . .. . .. . .GPIOG——>PG0、PG1、PG2、…PG15有4中输入模式与4中输出模式通用gpio:4种输入,2种输出,此时GPIO受内核cpu的控制复用gpio:2种输出,gpio受片上外设(i2c、UART、TIM、PWM、ADC)等的控制,此时io口输入输出的信息,都是由片上外设发送和接收。————————————————输入:模块向单片机输入输出:单片机向模块输原创 2023-08-17 16:47:01 · 114 阅读 · 1 评论 -
STM32时钟
②、HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz。③、PLL 为锁相环倍频输出,其时钟输入源可选择为 HSI/2、HSE 或者 HSE/2。A. MCO 是 STM32 的一个时钟输出 IO(PA8),它可以选择一个时钟信号输出,可以。终来源都是 SYSCLK。选择为 PLL 输出的 2 分频、HSI、HSE、或者系统时钟。,从图上可以看出,RTC 的时钟源可以选择 LSI,LSE,以及。①、HSI 是高速内部时钟,RC 振荡器,频率为 8MHz。原创 2023-08-17 11:22:01 · 95 阅读 · 2 评论 -
keil标准库的使用
介绍32标准库的相关使用原创 2023-08-17 16:10:05 · 746 阅读 · 0 评论 -
相关STM32基础
然后,延时 100ms 后, flymcu 控制DTR为高电平RTS 维持高电平,则 DTR#输出低电平RTS#继续为低电平,此时 STM32F1的复位引脚,由于 Q4 不再导通,变为高电平, STM32F1 结束复位,但是Q3仍然导通, BOOT0 还是维持为1,从而进入 ISP 模式,接着 flymcu 就可以开始连接STM32F1下载代码了。需要在 flymcu 软件设置: DTR的低电平复位, RTS 高电平进 BootLoader。十进制数据:百位、十位、个位。用于放大电流或当开关。原创 2023-08-17 20:26:31 · 76 阅读 · 1 评论