摘要:当采用OS时,SysTick定时器(24位,向下计数)作为OS的系统时钟,SysTick定时器不能被修改,如果想用SysTick定时器实现精确延时只能读取SysTick定时器中的计数值: 例如:delayUs(100) 延时100us; 1.在进入delayUs函数时计算达到100us延时需要的Sy
阅读全文
摘要:来源:正点原子 ISER[8]: ISER 全称是: Interrupt Set Enable Registers,这是一个中断使能寄存器组。上面说了 CM4 内核支持 256 个中断,这里用 8 个 32 位寄存器来控制,每个位控制一个中断。但是STM32L475 的可屏蔽中断最多只有 90 个,
阅读全文
摘要:1.SOC上同一类型的片上外设接口,使现不同的功能外部连接不同的芯片或模块,驱动文件按芯片可模块的功能建立独立的.c.h文件; 2.驱动中用到的外设硬件接口,采用在头文件中用宏定义定义定义管脚功能;
阅读全文
摘要:SOC上在很多片上外设,片上外设与外部交信息需要用到管脚,而同一管脚可能会被应用到不同的片上外设,实现此用功为每个管脚分配一个复用器,复用器在某个特定时刻将管脚分配给待定的片上外设; 每一个IO管脚都有一个16路(AF0-AF15)复用功能输入的复用器: 1.SOC上电完成复位后,默认为AF0(普通
阅读全文
摘要:系统时钟的一般步骤:配置完成后STM32就有了正常的心跳;1) 使能 PWR 时钟:调用函数__HAL_RCC_PWR_CLK_ENABLE()2) 配置时钟源相关参数:调用函数 HAL_RCC_OscConfig()。3) 配 置系 统时 钟源 以及 SYSCLK 、 AHB,APB1 和 APB
阅读全文
摘要:根据需要使用某个SOC外设时: 第一步:初始化与这个SOC外设(如.串口)无关的SOC参数(波特率,奇偶校验,停止位 ); 第二步:初始化这个SOC相关的的参数(具体用到了SOC上的哪些资源,管脚资源),在Msp函数中实现;
阅读全文
摘要:1.封装函数参数:用结构体变量做为函数的参数,可以为函数传入多个参数; 2.定义通信协议体:将通信协议的固定格式用结构体定义,收到数据后直接套用(将收到的数据读到协议结构体定定的变量中),实现对协议解析; 3.将MCU相关的寄存器组织在一起:把结构体和寄存器的地址对应起来,可以通过操作结构体来达到操
阅读全文