三天入门M4 笔记
PDF文档笔记
Flash 启动又叫ROM启动,代码编译进ROM, 设置中断向量表地址为ROM起始地址(但是最后还是在RAM)
SRAM启动又叫RAM启动,代码编译进RAM_L,设置中断向量表地址为RAM起始地址
RAM 启动,common_start_up把ROM中的数据放进RAM,(这个时候没有说中断向量表),然后从RAM执行代码。中断向量表地址为RAM起始地址。
ROM启动,common_strat_up把ROM中的中断向量表、数据复制到RAM,然后从ROM执行代码。中断向量表地址为RAM起始地址。
使用库函数注意事项
1、通常我们延时直接用DELAY_MS(×),,,,,,DELAY_US(×)。。。具体是使用PIT还是LPTMR还是SYSTICK可以看mk60_conf.h的定义
2、FTM模块
- 同一时间,一个FTM0拿去PWM输出,就不要再用来做正交解码、输入捕捉,或者其他事情。
- 每一个FTM模块配置成PWM输出模式后,可以最多输出8路不同的占空比的PWM,但是它们的频率肯定是一致的。
- PWM模式时,FTM0的通道0输出频率为20k,通道1也必须,只能输出20k的pwm。
app/inc/port_cfg.h 里
3、PIT0_IRQn
是在工程目录 \Chip\inc\ common.h
里定义的(PIT0_VECTORn
也是)。
两者之间有这样的关系: PIT0_IRQn + 16 = PIT0_VECTORn
(其他中断号也是这样)
4、串口打印函数uart_putstr
的符号不能是中文?!!!
5、uint8和uint8_t的一点小疑问解决
只是在不同文件中定义的而已了。。 uart_putstr (VCAN_PORT, (uint8_t *)str);//发送字符串
common.h
中定义的uint8
stdint.h
中定义的uint8_t