- 博客(11)
- 收藏
- 关注
原创 二、裸机系统和多任务系统
每个任务都是独立的,互不干扰的,且具备自身的优先级,它由操作系统调度管理。在顺序执行后台程序的时候,如果有中断来临,那么中断会打断后台程序的正常执行 流,转而去执行中断服务程序,在中断服务程序里面标记事件,如果事件要处理的事情很简短,则可在中断服务程序里面处理,如果事件要处理的事情比较多,则返回到后台程序里面处理。虽然事件的响应和处理是分开了,但是事件的处理还是在后台里面顺序执行的, 但相比轮询系统,前后台系统确保了事件不会丢失,再加上中断具有可嵌套的功能,这可以大大的提高程序的实时响应能力。
2023-05-07 20:18:47 384
原创 一、新建FreeRTOS工程----软件仿真
在创建工程前需要在本地电脑上新建一个文件夹,用于存放工程。文件名称:FreeRTOS。然后在该文件夹下新建各种文件夹和文件。
2023-05-07 19:48:49 697
原创 八、按键检测
/引脚定义/** 按键按下标置宏* 按键按下为高电平,设置 KEY_ON=1, KEY_OFF=0* 若按键按下为低电平,把宏设置成KEY_ON=0 ,KEY_OFF=1 即可*/
2023-04-22 19:21:56 437
原创 七、使用固件库点亮LED灯
一般把硬件相关的部分使用宏来封装,若更改了硬件环境, 只修改这些硬件相关的宏即可,这些定义一般存储在头文件,即“led.h”文件中。为了方便控制LED灯,把LED灯常用的亮、灭及状态反转的控制也直接定义成宏。//引脚定义//R 红色灯//G 绿色灯//B 蓝色灯/** 控制LED灯亮灭的宏,* LED低电平亮,设置ON=0,OFF=1* 若LED高电平亮,把宏设置成ON=1 ,OFF=0 即可*//* 带参宏,可以像内联函数一样使用 */else \else \else \
2023-04-22 18:32:20 717
原创 六、认识STM32的固件库
STM32标准库可以从官网获得。解压库文件后进入其目录:“STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\”Libraries:文件夹下是驱动库的源代码及启动文件。Project :文件夹下是用驱动库写的例子和工程模板。Utilities:包含了基于ST官方实验板的例程,以及第三方软件库,如emwin图形软件库、fatfs文件系统。MCD-ST Liberty…:库文件的License说明。Release_Note.html::库的版本更新说明。
2023-04-22 16:56:44 2241 1
原创 五、GPIO介绍及使用寄存器点亮LED
在输入模式时,施密特触发器打开,输出被禁止。数据寄存器每隔1个AHB1时钟周期更新一次,可通过输入数据寄存器GPIOx_IDR读取I/O状态。其中AHB1的时钟如按默认配置一般为180MHz。用于输入模式时,可设置为上拉、下拉或浮空模式。
2023-04-16 22:38:27 1475
原创 三、C语言对寄存器的封装
然后在AHB1总线基地址上加上GPIO外设的地址偏移,得到GPIOA~GPIOH的外设基地址,最后在外设基地址上加入各寄存器的地址偏移, 得到特定寄存器的地址。用上面的方法去定义地址,还是稍显繁琐,例如GPIOA~GPIOH都各有一组功能相同的寄存器,如GPIOA_MODER/GPIOB_MODER/GPIOC_MODER等等, 它们只是地址不一样,但却要为每个寄存器都定义它的地址。把总线基地址和外设基地址都以相应的宏定义起来,总线或者外设都以他们的名字作为宏名。
2023-04-16 16:45:20 649
原创 一、STM32
STM32:ST是意法半导体,M是Microelectronics的缩写,32表示32位,STM32就是指ST公司开发的32位微控制器。控制器和处理器的主要区别是:主频。其次处理器可以跑Linux。
2023-04-15 21:59:24 318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人