/
模板说明.txt
116 lines (99 loc) · 5.31 KB
/
模板说明.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
2015年2月11日
1、 程序模板基于STM32F10x V3.5固件库 及 UCOSII V2.9版本 制作。
文档结构说明:
APP:任务相关
在APP.C中创建任务
os_cfg.h 系统配置
app_cfg.h 配置任务优先级和栈大小
BSP:底层驱动相关
USER:main、中断、includes.h(头文件合集)、stm32f10x_conf.h()
StartUP:keil启动文件
CMSID:底层相关函数
StdPeriph_Driver:STM32固件库
2015年2月12日
1、增加SR04测距任务,调试通过;增加串口1通信协议解析功能,响应距离查询指令,协议格式如下
报文头 2字节 0x02 0xAA
功能码 1字节 1:查询距离
数据长度 1字节 3
数据 3字节
异或校验 1字节 (功能码 数据长度 数据)
报尾 2字节 0x55 0x03
2015年2月13日
1、增加ADC1及DMA传输功能,使能DMA读完成中断,读取内部温度数据 ADC1_Channel 16。
2、增加响应温度查询指令 功能码 03 返回数据为 数据段中 第一位和第二位
PS:如果测得温度为24.78,则返回数据中3位数据为 18 4E 00 (16进制)
3、程序中现2个任务:通信任务和SR04测距任务;
使用三个中断:串口1接收中断( 3 );SR04 echo外部中断7(2); dma 通道1传输完成中断(4)。
2015年2月25日
1、串口4初始化,并重写fputc函数,使能printf. 在 USART.H 中 定义 #define uDEBUG 1u
2、在OS_CPU_C.C L.187 增加 printf("CPU USAGE IS:%d\r\n", OSCPUUsage); 打印输出CPU使用率。
3、创建任务使用OSTaskCreateExt(),以便使用堆栈检查函数 OSTaskStkChk()。
4、在APP.C中 增加vTaskStkCHK任务,5秒间隔 打印任务堆栈使用信息。 用于调整堆栈数值。(只在调试过程中使用)
5、在taskCommunication.c中增加 函数指针 数组 void (*pf[8])(void),映射 通信帧中 CMD指令。
2015年3月2日
1、增加RTC初始化函数,启动RTC读取任务,并在通信函数中增加指令响应 04 时间获取 05 时间校核.
2、优化通信处理函数逻辑及相关数组定义,优化指令格式。
2015年3月3日
1、增加SD卡SPI模式读写驱动,移植FATFS0.09文件系统,实现底层驱动,可完成文件创建的写入。
2015年3月5日
1、增加SD卡数据存储任务 存满512字节后,进行数据写入,一天新建一个文件,命名规则为 年月日.txt;数据存储结构为
"距:xxx 温:xx.xx Time:xx:xx:xx\r\n" 共32字节。
2、#define _FS_MINIMIZE 3 /* 0 to 3 */ 最小化FATFS。保留实用功能。
2015年3月8日
1、移植LWIP,增加UCOS内存管理(在邮箱队列建立时,动态申请内存),实现PING响应,TCP客户端功能。(暂时屏蔽串口通信响应)
2015年3月9日
1、增加TIM6(10ms定时)中断 调用网络输入函数,以完成TCP三次握手等功能。
2、APP.c中简单测试SOCKET tcp 客户端和服务器功能
2015年3月27日
1、处理RTC time_now时,增加互斥锁。
2、增加中断优先级统一配置头文件 bsp_cfb.h。
3、添加AM2305驱动及任务文件,测试通过。
2015年3月30日
1、去除定时器6中断服务程序 timerx.c中 lwip_pkt_handle() 以太网底层输入调用。并在BSP.C中去除TIMER6 初始化。
2015年3月31日
1、LWIP SOCKET功能尚不完善, 为使用errno 错误代码, 在lwipopts.h line53 #define ERRNO 1;
在sockets.c line59 int errno;
通过errno 确定当前SOCKET状态: 有 无数据 是否关闭 客户端SOCKET功能完善。
2015年4月2日
1、增加升降平台 操作任务: 上 下 停止 预置位设置 调用 预置位数据存储至FLASH等功能;
通过事件标志组与通信处理程序进行通信。模拟测试通过。
为保证其实时性 暂将其任务优先级设置为最高。
相关指令如下 上: 02 AA 06 01 01 06 55 03 /*指令码为 06 数据第一位为指令簇中 子指令 预置位设置及调用
下: 02 AA 06 01 02 05 55 03 第二、三位为需要操作的预置号*/
停: 02 AA 06 01 04 03 55 03
预置位存储 02 AA 06 01 40 47 55 03
预置1 设置 02 AA 06 03 08 00 01 0C 55 03
预置1 调用 02 AA 06 03 10 00 01 14 55 03
2、在BSP.c 上电初始化时 从 flash 中读取数据 存入 预置位数组。
2015年4月10日
1、串口1接收指令,另一串口发送升降平台控制指令,并在串口1中输出相关信息。
2015年4月13日
1、增加PTO功能,TIM1_CH1 重映射至PE9,负责脉冲输出;TIM5计时(控制脉冲个数),在TIM5中断处理子程序中关闭PWM输出。 PTO.h PTO.c
2、可通过修改定时器分频值进行相关参数调整。 如果需要在系统中使用,必须在中断中加 临界处理函数。
2015年4月18日
1、在PTO.c中 增加加速处理过程,在中断中进行频率变换处理。
2、在APP.C中测试 PTO中 频率 加速,测试 过程 中屏蔽管脚映射 使用PA8,使用TIM3中断, 后期需要更改为TIM5 使用管脚映射 使用PE9。
2015年4月20日
1、在PTO.c 中 规范相关函数名称 ,增加PWM停止输出时 频率减速处理过程。
2、通信处理函数中,只需提供频率, 前进 后退 自动进入加速过程;停止时 进入频率减速过程。
2015年4月29日
1、增加外部中断1 2 PD1 PD2 作为限位信号;
2、增加StepMotor任务,上电时自动运行,碰到限位后,减速然后反向动作。
2015年5月4日
1、更改PTO.h 中 加速度和减速度定义宏 可以通过更改宏定义进行加减速设置。
2、更改PTO.c 中PTO_HZ_20MS(unsigned short Freq) 为PTO_HZ_Period(unsigned short Freq,unsigned short period).
3、更改加减速程序及定时中断中频率处理部分,使用宏代替。
4、增加信号量StepSem,以便加速完毕后再打开外部中断,使程序逻辑更加清晰。
2015年5月5日
1、加入定时器正交编码功能 encoder.c(相关初始化) 和 timerx.c(周期调用计数值读取函数 更新全局变量 nowENCODERCNT);
暂使用资源 tim8 IC1(PC6) IC2(PC7) tim6。
2015年5月12日
1、增加TIM1更新中断配置,并在PTO.C中添加带加减速脉冲数输出功能,PTO_HZ_NUM 在脉冲输出定时器更新中断中进行脉冲计数,完成大脉冲数输出功能,
暂未实现 加减速过程中就能达到脉冲输出个数的功能。算法后续进行完善。
2015年5月13日
1、完善脉冲输出算法,根据当着位置自动判断动作方向,自动加减速。
a)添加2倍加速过程输出脉冲数大于脉冲个数的情况处理,测试可正常输出。在PTO_HZ_NUM中进行条件判断。
b)添加2倍加速过程输出脉冲数等于脉冲个数的情况处理,测试可正常输出。在更新中断加速完成时判断。
c)脉冲设定频率小于起始频率,即加速最小频率。暂不处理此情况。
2015年5月14日
1、使用状态机重写加减速处理过程 逻辑更加明确。