推荐阅读最新更新时间:2024-11-20 14:56
stm32之Cortex系统定时器(SysTick)
SysTick时钟,俗称“嘀嗒定时器”,它能按设定的时间产生一次中断。控制工程代码中随处可见形如delay_ms()之函数。但是一直不清楚其内在机制。今天花时间研究了一下。 首先还是在数据手册上看一下SysTick寄存器的配置,如图: 寄存器说明 stm32的时钟源 选择外部时钟源时,则Systick时钟为HCLK /8 选择内核时钟源时,则Systick时钟为HCLK 延时编程原理 systick定时器是24位的递减计数器,设定初值并使能它后,它会把每个系统时钟周期计数器减1, 计数到0 时,将从RELOAD 寄存器中自动重装载定时器初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息. 延时编程
[单片机]
STM32-systick系统定时器
systick系统定时器 系统定时器存在内核中,是24位的定时器,只能向下递减,嵌套在NVIC中 counter 在时钟的驱动下 在reload的初值开始向下递减计时到0,产生中断置位标志然后又从reload值开始重新递减计数,循环 定时时间计算 t=reload*(1/clk) clk=72M时,t=72*(1/72m)=1us clk=72M时,t=72000*(1/72m)=1ms clk=72M时,t=72000000*(1/72m)=1s 1s=1000MS =1000 000US=1000 000 000NS sysTick属于内核中的外设,他的中断优先级和外设的中断优先级相比,哪个
[单片机]
stm32 串口通信
这次讲讲利用串口收发中断来进行串口通讯。STM32 上为每个串口分配了一个中断。也就是说无论是发送完成还是收到数据或是数据溢出都产生同一个中断。程序需在中断处理函数中读取状态寄存器(USART_SR)来判断当前的是什么中断。下面的中断映像图给出了这些中断源是如何汇合成最终的中断信号的。图中也给出了如何控制每一个单独的中断源是否起作用。 另外,Cortex-M3 内核中还有个NVIC,可以控制这里的中断信号是否触发中断处理函数的执行,还有这些外部中断的级别。关于NVIC 可以参考《ARM CortexM3 权威指南》,里面讲解的非常详细。 简单的说,为了开启中断,我们需要如下的代码: NVIC_InitTypeDef NV
[单片机]
STM32+机智云AIoT云平台实现智能鸽笼控制
本智能鸽笼控制系统由贵州大学电气工程专业的刘磊、王民慧设计开发完成,基于STM32+机智云AIoT云平台设计专为赛鸽进笼检测的装置,利用机智云平台进行数据的传输交换,通过 WiFi 模块与云端的通信,将采集到的温湿度、归巢时间、告警信号等发送到手机 APP 端,同时在鸽子归巢时通过拨打人员电话,在断网的情况下可以进行按键操作,最终以物联网控制的方式能够对赛鸽进行有效的饲养选育。 正文内容 在赛鸽养殖中,饲养者因为工作生活繁忙等原因将无法按时喂养鸽子,同时赛鸽的养殖往往需要直接接触鸽子羽毛排泄物等,卫生问题尤为突出。在优秀乳鸽的选择上,通常采用给鸽子佩戴高昂的赛鸽计时装置,此外鸽舍内的温湿度直接影响着赛鸽的健康,需要及时对
[单片机]
STM32开源代码——UART串口程序
#include led.h #include delay.h #include key.h #include sys.h #include usart.h /************************************************ ALIENTEK精英STM32开发板 作者:唯恋殊雨 CSDN博客:https://blog.csdn.net/tichimi3375 TX-PA10 RX-PA9 ************************************************/ int main(void) { u16 t; u16 le
[单片机]
stm32 DMA初始化选项研究
DMA比较好用,也比较简单,今天在做多通道ADC“连续”“扫描”采样时,对DMA有了更深一点的认识,今天给大家分享下: #define ADC1_DR_Address ((uint32_t)0x4001244C) unsigned short Buff ; ...... DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)Buff; DMA_InitStructure.
[单片机]
STM32的GPIO有几种输出模式及其说明
GPIO的基本结构 第一:开漏输出模式(N-MOS打开,高电平时,IO端口电平取决于外部的上拉电阻;低电平时,IO端口为底) 在图的上半部,施密特触发器处于开启状态,这意味着CPU可以在“输入数据寄存器”的另一端,随时监控I/O端口的状态;通过这个特性,还实现了虚拟的I/O端口双向通信:只要CPU输出逻辑“1”,由于编号3的N-MOS管处于关闭状态,I/O端口的电平将完全由外部电路决定,因此,CPU可以在“输入数据寄存器”读到外部电路的信号,而不是它自己输出的逻辑“1”。 当CPU在左边的编号1端通过位设置/清除寄存器,或输出数据寄存器写入数据后,该数据位将通过编号2的输出控制电
[单片机]
意法半导体STM32Cube.AI 开发工具增加深度量化神经网络支持
意法半导体(ST)发布了STM32Cube.AI version 7.2.0,这是微控制器厂商推出的首款支持超高效深度量化神经网络的人工智能(AI)开发工具。 STM32Cube.AI 将预先训练好的神经网络转换成STM32微控制器(MCU)可以运行的C语言代码 ,是充分利用嵌入式产品有限的内存容量和算力开发尖端人工智能解决方案的重要工具,将人工智能从云端下移到边缘设备,能够为应用带来巨大的优势,其中包括原生隐私保护、确定性实时响应、更高的可靠性和更低的功耗。边缘人工智能还有助于优化云计算使用率。 现在,通过支持 qKeras 或 Larq 等深度量化输入格式,开发者可以进一步降低神经网络代码量、内存占用和响应延迟
[物联网]