模板下载:
; a# B, e" V5 d+ c5 J) f& z! x3 i V7-FreeRTOS程序模板(含MDK和IAR).rar
. s. G3 m$ D0 `4 ]. x% R( O% H& ]% t2 ]+ _
1、MDK使用MDK5.26及其以上版本。0 j: P' ?$ c$ c* R& H/ @2 X
2、IAR使用IAR8.30及其以上版本。+ A, h( f0 f* F( P

4 J9 a* H, O9 [
4 w8 b' O5 `/ u, N7 c7 @7 G
. B9 H: x$ Q/ W) K8 A3 c2 }5 h- /** H$ a v6 Q3 X1 X, v" ?* H
- *********************************************************************************************************) Q' ?4 v1 {# v Z% y
- *
8 {/ ?6 R* [/ \% ?/ Z4 H0 a' B+ E - * 模块名称 : 主程序模块。
+ [5 r( p' c# a3 B2 V7 _! H* w - * 文件名称 : main.c
* q1 G) h( ^1 G- q8 l4 p - * 版 本 : V1.0
6 t9 D/ _8 V1 z% G1 B, D - * 说 明 : 本实验主要学习FreeRTOS的串口调试方法(打印任务执行情况)
4 @! F/ X( |9 a1 w0 ?! s - * 实验目的:
6 D3 T G5 c$ J6 | - * 1. 学习FreeRTOS的串口调试方法(打印任务执行情况)。
" @1 X8 j0 v/ ]0 Q) E) v% {$ {* B: b - * 实验内容:
9 {+ R O, B: p6 S7 g0 x6 a - * 1. 按下按键K1可以通过串口打印任务执行情况(波特率115200,数据位8,奇偶校验位无,停止位1)
7 j- K" E: E V* X+ c! k/ j- ? - * =================================================
; k! ^1 I# Q$ R, Y6 `1 {8 @ - * 任务名 任务状态 优先级 剩余栈 任务序号
3 v; d. d' X1 R7 T# g' D! L - * vTaskUserIF R 1 318 1. c0 y% Y u2 M1 i- X0 J3 [5 T
- * IDLE R 0 118 5
, }6 H4 \7 M, d2 Q2 b7 ^ - * vTaskLED B 2 490 2
9 q2 D$ L A# d- b! J - * vTaskMsgPro B 3 490 3
7 B( J% K" B$ Y) ?. T2 ?9 l - * vTaskStart B 4 490 4
7 p$ s5 J& `2 T1 ` - *
$ v* V. c( ?3 z6 a' U3 e - * 任务名 运行计数 使用率! d9 [9 L0 y. W8 g" U1 r3 S
- * vTaskUserIF 467 <1%
% z0 J0 P2 f1 l2 o$ {& B - * IDLE 126495 99%. w" b- x' `3 L" i5 J' G
- * vTaskMsgPro 1 <1%
4 D, l& [1 A8 p) l& f$ | d - * vTaskStart 639 <1%
& Z! _# e, @4 \7 Z+ U+ M; m - * vTaskLED 0 <1%7 j, r t) [* _- D6 X# d }
- * 串口软件建议使用SecureCRT(V7光盘里面有此软件)查看打印信息。5 U! [4 Y6 w; T9 _6 B
- * 各个任务实现的功能如下:
6 c( I: R9 B& B - * vTaskTaskUserIF 任务: 接口消息处理 , l ~6 V& C6 N2 e
- * vTaskLED 任务: LED闪烁# C- n& x2 N# X6 |+ m! H
- * vTaskMsgPro 任务: 消息处理,这里是用作LED闪烁0 e& m9 v( z/ l! Y- s' E9 F1 K
- * vTaskStart 任务: 启动任务,也就是最高优先级任务,这里实现按键扫描8 A$ h8 u9 m3 P8 i
- * 2. 任务运行状态的定义如下,跟上面串口打印字母B, R, D, S对应:
2 l$ j' W, C% A' a - * #define tskBLOCKED_CHAR ( 'B' ) 阻塞
, S9 M7 z9 q; e: ?; ], x' u* X$ i - * #define tskREADY_CHAR ( 'R' ) 就绪3 q& P: G: J0 z a: c0 z1 y
- * #define tskDELETED_CHAR ( 'D' ) 删除/ N& L9 o8 A2 m- t
- * #define tskSUSPENDED_CHAR ( 'S' ) 挂起
! c1 J! M9 ~2 ?5 ^* a - * #define tskRUNNING_CHAR ( 'X' ) 运行5 g( I; {* {# p1 F9 a
- * 注意事项:/ V0 k# S) O8 Q1 w Y: f; [
- * 1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在( e7 @5 R& @9 r# y
- * V7开发板光盘里面有。" Y) p3 ^' m3 Q
- * 2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
$ G4 ]1 p/ Z E/ L - *
* k( A I: Z& c0 r: b - * 修改记录 :# e, j" [) M: l3 T' y
- * 版本号 日期 作者 说明
% i8 _9 d* ^4 E0 ~, S. }; |' G - * V1.0 2019-05-02 Eric2013 1. ST固件库到V1.3.0版本
, E& c: H! {$ F9 ?9 @+ r - * 2. BSP驱动包V1.2
1 |* j y4 x, R, C9 G1 b' H2 C1 N2 D - * 3. FreeRTOS版本V10.2.0
3 _0 r3 f# U+ B5 L( Y- W$ I! S7 K - *3 O6 s7 `+ N& G, z4 Y- q4 [) k
- * Copyright (C), 2019-2030, 安富莱电子 www.armfly.com n+ C4 I$ j4 x K8 J" y; N
- *
- a6 ]0 x; ^/ L1 P. \% @ - *********************************************************************************************************8 f2 }! }5 E5 H8 Z9 @( L' O- k
- */
复制代码
1 b; C6 X% ~* H
. e' @7 X/ x/ s4 W& t1 `' K- g1 z 2 a# U3 Q% K; Q; m2 M. H
|