勿在浮沙建高楼,这是之前在一本书关于编程的书中看到的一句话,意思是要打好基础,在嵌入式的编程中,情况也是如此。之前遇到一位单片机工程师,说他自己写程序多年,对STM32的编程非常熟悉,我就问了几个问题如下,那工程师当场就懵了,其实他确实写过很多应用层的编程,但对底层的了解太少,1tSTM32的NVIC中,用几个bit表示中断的优先级,最多能有多少个抢占优先级,最多能有多少子优先级。

2tPrioritygroup1,4有什么区别,如何划分Prioritygroup1,3t如果两个中断的抢占优先级相同,子优先级不同,这两中断同时发生,会如何执行。4t如果两个中断的抢占优先级和子优先级都相同,这两中断同时发生,会如何执行。5t当前中断正在执行,另一中断发生,后者与前者的抢占优先级相同,子优先级不同,后者能否插断前者。

STM32和K210都可以使用C/C 进行编程,但是由于它们两个使用的微控制器不同,所以它们的底层驱动程序是不同的。学习STM32后可以入门K210,但是需要学习K210的底层驱动程序和资源使用方法。需要注意的是,STM32和K210都是微控制器,但是它们的架构、性能、外设和资源都是不同的。因此在编写代码时,需要根据不同的平台进行适配。

如果你已经熟悉了STM32的开发流程和基本概念,在学习K210时应该会比较容易总之,学习STM32后直接入门K210并不是特别容易,需要学习K210的底层驱动程序和资源使用方法。但是如果你已经熟悉了STM32的开发流程和基本概念,在学习K210时会比较容易。建议你先了解K210的硬件特点和资源配置,然后再学习它的底层驱动程序。

跑操作系统的话可以运行多个Main,裸机只有一个main入口。开启一个定时器,在程序当前行和下一行代码上打上断点,调试,运行至代码处,查看定时器计数寄存器值,再运行,继续查看定时器寄存器值,计算出时间差。看程序被编译的汇编代码,通过汇编代码执行周期数计算时间。

下面以流水灯为例说明STM32CubeMX软件的使用。第一步,建立并保存工程。启动STM32CubeMX软件,界面如图2所示。点击NewProject,在NewProject对话框中选择BoardSelector标签页,在这里有各种ST评估板可以选择,我们选择STM32F429IDISCO,最后点击OK,如图3所示。这样就建立起了STM32F429IDISCO评估板的工程,这个工程已经根据评估板设置好了,然后可以生成相应的代码。
点击NewProject,在NewProject对话框中选择McuSelector标签页,然后在MCUFilter中依次选择STM32F4,STM32F429/439,在下面列表中选择STM32F429ZITx,最后点击OK,如图4所示。新建立的工程界面如图5所示。