初级会员
- 积分
- 118
- 金钱
- 118
- 注册时间
- 2017-7-24
- 在线时间
- 26 小时
|
看了一下潘多拉开发板的demo复杂的太复杂简单的太简单,没有一个阶梯式的难度。此demo是我测试用的,之前分享过串口hal库1.7版本的空闲中断,到rt_thread系统竟然不能用了。学得他们标准的模板样式,通过env工具裁剪而来,这里是用战舰103开发板做测试,通过env工具裁剪。好了废话不多说,看图说话。
按照他们标准模式创建了一个串口任务,顺便开启了一个单次定时器。
这个是任务里面做串口初始化,当然前提是通过env工具打开串口3的硬件初始化,这里只是软件初始化。
这里和标准写法上做了一点修改,他的标准是通过信号量方法接受,一个字节一个字节收,这里是一次接受。通过回调函数uart3_RX函数计数,他们文档说形参size是得到接受的字符数量。我通过jlinkRTT打印出来是连续继续的,每次接受完成不带清零的。所以稍微处理了一下。接受回调函数里面不能用rt_kprintf函数,会死机的。所以增加了JlinkRTT的打印,它是可以在中断中打印信息的。所以打印出来不会死机。
这里是通过串口3发送串口1打印出来。
这个是用env编译的没有报错。生成的bin 文件可以直接烧录通过stlink或者jlink等工具。
这是编译时的cpu的占用率,使用的是TrafficMonitor工具。如果是mdk5.26或者5.25全编译的话烧CPU厉害,而且往往都差不多接近1分钟。烧cpu太厉害你们懂的。
这个是在linux上编译的win10的子系统,需要自己安装arm-gcc,与env工具编译效果差不多。
这是最后生成bin文件可拿stlink烧录。
工程是和潘多拉的demo工程一样,可以后面直接BSP里面加入自己的项目,为啥这样做呢,主要是考虑后面项目越来越多,新项目我可以直接在里面加,不用在外面重新建立。
方便,话说rt_thread系统确实有点深,全是指针,需要追踪和记录否则会追丢的。
stm32f10x.zip
(14.37 MB, 下载次数: 181)
|
|