stm32-system文件夹
- Date:2023-06-05
- Time:15:31
- Subject: none
- Tags: #stm32
[[2023-06]]
sys文件夹介绍
deley文件夹介绍
deley文件夹函数简介
SysTick工作原理
SysTick,即系统滴答[[定时器]],包含在M3/4/7内核里面,核心是一个24位的递减计数器(2的24次方,来一个脉冲就递减)
每次VAL到0时,VAL自动从LOAD重载!开始新一轮递减计数!
SysTick寄存器介绍
SysTick控制及状态寄存器(CTRL)
SysTick重装载数值寄存器(LOAD)
SysTick当前数值寄存器(VAL)
delay_init()函数(f1)
1 | void delay_init(uint16_t sysclk)//传入72(mhz) |
delay_us()函数(f1)
1 | void delay_us(uint32_t nus) |
delay_ms()函数(f1)
1 | //利用微秒延时函数实现 |
- Date:2023-06-05
- Time:17:08
- Subject: none
- Tags: #stm32
[[2023-06]]
printf函数输出流程
printf的使用
1 | //printf("字符串\r\n"); |
常用输出控制符表
常用转义字符表
例子
1 | //printf("输出控制符1输出控制符2…",输出参数1,输出参数2,…); |
printf函数支持
半主机模式简介
用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机
简单说:就是通过仿真器实现开发板在电脑上的输入和输出
一般我们:不使用半主机模式!!!
方法一:微库法
在魔术棒->Target选项卡,勾选:Use Micro LIB,即可避免半主机模式
方法二:代码法
1个预处理、 2个定义、3个函数,会用就行
-
pragma import(__use_no_semihosting),确保不从C库中使用半主机函数
- 定义:__ FILE结构体,避免HAL库某些情况下报错
- 定义: FILE __ stdout,避免编译报错
- 实现:_ ttywrch、_ sys_exit和_sys_command_string等三个函数
在历程(uart.c)中已经实现了
到时候拷贝就好
微库法 VS 代码法
实现fputc函数
也不需要怎么知道
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chris!