你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 RTX多任务方式驱动LED灯 例程

[复制链接]
发布时间:2011-3-23 16:38
1 软件程序设计
为了使用RTX以多任务的方式驱动LED灯的闪烁,设置5个任务OS_TID t_phaseA、OS_TID t_phaseB、
OS_TID t_phaseC、OS_TID t_phaseD和OS_TID t_lcd。其中前4个任务的作用是点亮某个LED灯,延迟
一段时间,然后通过设置标志触发另一个任务执行,再延迟一段时间之后,熄灭LED灯,等待下一次事
件标志的到来;通过这四个任务的循环触发可以实现四个LED灯循环闪烁,其延迟时间由ADC转换值决定。
OS_TID t_lcd用于将ADC转换值显示在LCD上,按固定时间间隔不断更新。
除了以上5个任务之外,还有init任务和idle任务,init任务用于创建以上5个任务,该任务在完成之后
自行删除;idle任务无需创建,永远存在,当系统无其他任务时执行该任务。

2 运行过程
(1) 使用MDK通过ULINK 2仿真器连接开发板,或使用两根USB电缆分别将CN1和CN5 与PC机USB端口相连
(使用板上自带的UlinkMe);
(2) 打开实验例程目录RTX_Blinky下的RTX_Blinky.Uv2工程,将其编译链接后烧写到开发板中;
(3) 如果程序运行正常,LED1、LED2、LED3、LED4将轮流闪烁,其闪烁顺序与一个四相八拍步进电机
的相序一致;LCD上将会显示AD转换的值"AD value 0x****";
(4) 调整电位器RV1,四个LED灯的闪烁速度将发生变化,LCD上显示的AD转换值也将随之发生变化。

RTX_Blinky.rar

下载

579.29 KB, 下载次数: 422

收藏 1 评论14 发布时间:2011-3-23 16:38

举报

14个回答
senzh01 回答时间:2011-3-29 08:29:59

RE:STM32 RTX多任务方式驱动LED灯 例程

还不错,大早就有收获!!谢谢了!!
zhouke58 回答时间:2011-3-29 09:26:54

RE:STM32 RTX多任务方式驱动LED灯 例程

编译没通过,有问题
zhouke58 回答时间:2011-3-29 09:28:18

RE:STM32 RTX多任务方式驱动LED灯 例程

Build target 'RTX_Blinky'
assembling STM32F10x.s...
creating preprocessor file for Blinky.c...
compiling Blinky.c...
Blinky.c(61): error:  #130: expected a "{"
Blinky.c:   void phaseA (void) __task {
Blinky.c:                      ^
Blinky.c(73): error:  #130: expected a "{"
Blinky.c:   void phaseB (void) __task {
Blinky.c:                      ^
Blinky.c(85): error:  #130: expected a "{"
Blinky.c:   void phaseC (void) __task {
Blinky.c:                      ^
Blinky.c(97): error:  #130: expected a "{"
Blinky.c:   void phaseD (void) __task {
Blinky.c:                      ^
Blinky.c(111): error:  #130: expected a "{"
Blinky.c:   void lcd (void) __task {
Blinky.c:                   ^
Blinky.c(141): error:  #130: expected a "{"
Blinky.c:   void init (void) __task {
Blinky.c:                    ^
Blinky.c: Blinky.c: 0 warnings, 6 errors
creating preprocessor file for LCD_4bit.c...
compiling LCD_4bit.c...
creating preprocessor file for Setup.c...
compiling Setup.c...
Setup.c(29): error:  #20: identifier "RCC_AHBPeriph_DMA" is undefined
Setup.c:     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA, ENABLE);
Setup.c:                           ^
Setup.c(40): error:  #20: identifier "DMA_Channel1" is undefined
Setup.c:     DMA_DeInit(DMA_Channel1);
Setup.c:                ^
Setup.c: Setup.c: 0 warnings, 2 errors
creating preprocessor file for STM32_Init.c...
compiling STM32_Init.c...
creating preprocessor file for RTX_Config.c...
compiling RTX_Config.c...
RTX_Config.c(156): error:  #130: expected a "{"
RTX_Config.c:   void os_idle_demon (void) __task {
RTX_Config.c:                             ^
RTX_Config.c: RTX_Config.c: 0 warnings, 1 error
creating preprocessor file for Serial.c...
compiling Serial.c...
creating preprocessor file for Retarget.c...
compiling Retarget.c...
Target not created
sdzhang1 回答时间:2011-3-29 11:35:36

回复:STM32 RTX多任务方式驱动LED灯 例程

回复第 1 楼 安 于2011-03-23 08:38:33发表:
1 软件程序设计
为了使用RTX以多任务的方式驱动LED灯的闪烁,设置5个任务OS_TID t_phaseA、OS_TID t_phaseB、
OS_TID t_phaseC、OS_TID t_phaseD和OS_TID t_lcd。其中前4个任务的作用是点亮某个LED灯,延迟
一段时间,然后通过设置标志触发另一个任务执行,再延迟一段时间之后,熄灭LED灯,等待下一次事
件标志的到来;通过这四个任务的循环触发可以实现四个LED灯循环闪烁,其延迟时间由ADC转换值决定。
OS_TID t_lcd用于将ADC转换值显示在LCD上,按固定时间间隔不断更新。
除了以上5个任务之外,还有init任务和idle任务,init任务用于创建以上5个任务,该任务在完成之后
自行删除;idle任务无需创建,永远存在,当系统无其他任务时执行该任务。
 
2 运行过程
(1) 使用MDK通过ULINK 2仿真器连接开发板,或使用两根USB电缆分别将CN1和CN5 与PC机USB端口相连
(使用板上自带的UlinkMe);
(2) 打开实验例程目录RTX_Blinky下的RTX_Blinky.Uv2工程,将其编译链接后烧写到开发板中;
(3) 如果程序运行正常,LED1、LED2、LED3、LED4将轮流闪烁,其闪烁顺序与一个四相八拍步进电机
的相序一致;LCD上将会显示AD转换的值"AD value 0x****";
(4) 调整电位器RV1,四个LED灯的闪烁速度将发生变化,LCD上显示的AD转换值也将随之发生变化。
 
 
jwdxu2009 回答时间:2011-6-15 22:31:51

RE:STM32 RTX多任务方式驱动LED灯 例程

很有参考价值
yhb105 回答时间:2011-7-8 10:57:45

RE:STM32 RTX多任务方式驱动LED灯 例程

谢谢。收益良多啊。
nieyinghaha 回答时间:2011-9-23 11:45:45

RE:STM32 RTX多任务方式驱动LED灯 例程

编译通不过的,怎么办?
sinceac 回答时间:2011-12-16 12:50:21

回复:STM32 RTX多任务方式驱动LED灯 例程

看看这个可不可以用
胡杨-345459 回答时间:2012-6-28 16:26:01

回复:STM32 RTX多任务方式驱动LED灯 例程

我一直都是在stm32上跑裸奔代码的,现在让用RTX操作系统,怎么入门啊,没资料,没书,只有公司的一段代码,怎么才能创建一个基于这种系统的模板啊
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版