![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
江科大STM32
文章平均质量分 91
职业法师头铁
这个作者很懒,什么都没留下…
展开
-
STM32_11(SPI)
假如我们需要连续发送一串数据,第一个数据写入发送缓冲区(TDR),当移位寄存器没有数据移位时,TDR的数据就会立刻转入移位寄存器,开始移位,这个转入时刻,会置状态寄存器的TXE为1(表示发送寄存器空),紧接着,下一个数据就可以提前写入TDR等待,一旦上个数据发送完成,下一个数据就可以立刻跟进,实现不间断的连续传输。之后时钟运行,产生下降沿,此时的主机和从机需同时移入数据,也就是数据采样,这里主机移除B7,进入从机移位寄存器的最低位,从机移除B7,进去主机移位寄存器的最低位。4、读取RDR接收的数据。原创 2023-11-30 08:30:00 · 1055 阅读 · 0 评论 -
STM32_10(I2C)
7位主发送流程:当检测(EV5)起始条件已发送后,就可以发送一个字节的从机地址,从机地址需要写到数据寄存器DR中,写入DR之后,硬件电路会自动把这个字节转到移位寄存器里,再把这个字节发送到I2C总线上,之后硬件会自动接收应答并判断,如果没有应答就会置失败的标志位(这个标志位可以利用中断来提醒)。最后,当我们想发的数据写完之后,就没有新数据写入数据寄存器中。发送应答位目的是告诉从机,是不是要继续发,如果从机发送一个数据后,得到主机的应答,说明要继续发送,如果主机没有应答则从机停止发送,交出SDA的控制权。原创 2023-11-29 07:00:00 · 924 阅读 · 0 评论 -
STM32_9(USART串口)
最开始S=0,收到一个数据进入中断,根据S=0进入第一个状态的程序,判断数据是不是包头FF,如果时FF,则代表收到包头,之后置S=1,退出中断结束。如果出现了FF,就可以转移到接收数据状态,这时再收到数据,就直接把它存在数组中,另外再用一个变量,记录收了多少个数据,如果没有收够4个数据,就一直是接收状态,如果收够了,就置S=2,下次中断时,就可以进去下一个状态。最开始,空闲状态高电平采样一直为1,在某个位置突然采样到0,那么说明在这两次采样之间出现了下降沿,如果没有任何噪声,就应该是起始位。原创 2023-11-28 07:00:00 · 1545 阅读 · 0 评论 -
STM32_8(DMA)
左边触发一次DMA,7个通道一次进行AD转换,每一次的转换结果都会放到ADC_DR数据寄存器中,我们需要做的就是在每个单独的通道转换完成后,进行一次DMA数据转运,并且目的地址进行自增。在运行过程中,如果转运完成,传输计数器清0,如果再给传输器赋值,需要先让DMA失能,然后写传输计数器的值,再让DMA使能即可。总线矩阵的左端是主动单元,拥有存储器的访问权,右边是被动单元,它们的存储器只能被左边的主动单元读写。如果是硬件触发,需要在对应的外设调用XXX_DMACmd,开启触发信号的输出。原创 2023-11-26 07:00:00 · 607 阅读 · 1 评论 -
STM32_7(ADC)
IN0~IN7,通过通道选择开关,选中一路,输入到比较器进行转换和比较。如果DAC输出的电压比较大,就调小DAC数据,如果DAC输出电压小,就增大DAC数据,直到DAC输出的电压和外部通道输入的电压近似相等,那么DAC输入的数据就是外部电压的编码数据。单次转换跟上面的单次转换非扫描模式大致一样,但是扫描模式就会用到菜单列表,可以连续对选中的位置进行转换,转换结果都放在数据寄存器里,但为了防止数据被覆盖,需要用到DMA及时把数据挪走,7个通道转换完成之后,产生EOC信号,转换结束。原创 2023-11-25 07:00:00 · 1132 阅读 · 0 评论 -
STM32_6(TIM)
OC(Output Compare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功能CCR(捕获比较寄存器)舵机是一种根据输入PWM信号占空比来控制输出角度的装置输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms。原创 2023-11-24 07:00:00 · 1381 阅读 · 0 评论 -
STM32_5(中断)
EXTI(Extern Interrupt)外部中断EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序支持的触发方式:上升沿/下降沿/双边沿/软件触发支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒触发响应方式:中断响应/事件响应。原创 2023-11-23 07:00:00 · 541 阅读 · 0 评论 -
STM32_3(GPIO)
按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动。传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出。为什要接上拉,如果PA0没有接上拉,就会变成浮空,所以必须要接上拉。这个既可以接上拉也可也接浮空,上拉就是双电阻,更稳定,相应的损耗也大一些。关键字:#define用途:用一个字符串代替一个数字,便于理解,防止出错;原创 2023-11-22 09:40:52 · 390 阅读 · 1 评论