山西响应式网站建设哪家有,怎么建设影视卡网站,wordpress如何发表新文章,百度下载1、官方源码下载
(1)进入FreeRTOS官网#xff1a;FreeRTOS官网
(2)下载FreeRTOS。(选择带示例的下载) 2、删减目录
(1)下载后解压的FreeRTOS文件如下图所示。 (2)删除下图中红框勾选的文件。
FreeRTOS-Plus#xff0c;FreeRTOS的生态文件#xff0c;非必需的。toolsFreeRTOS官网
(2)下载FreeRTOS。(选择带示例的下载) 2、删减目录
(1)下载后解压的FreeRTOS文件如下图所示。 (2)删除下图中红框勾选的文件。
FreeRTOS-PlusFreeRTOS的生态文件非必需的。tools这里面是亚马逊相关的文件不需要。 (3)删除FreeRTOSv202212.01\FreeRTOS\Demo目录下用不到的示例工程。
保留Common文件夹保留CORTEX_STM32F103_Keil (4) FreeRTOSv202212.01\FreeRTOS\Source\portable目录下只保留如下两个文件夹其他全部删掉。 (5)FreeRTOSv202212.01\FreeRTOS\Source\portable\RVDS目录下只保留ARM_CM3文件。
3、编译工程
(1)打开工程。 (2)弹出如下对话框说明该工程是用KeilMDK4创建的。点击“Migrate to Device Pack”更新为KeilMDK5。 (3)编译结果如下。 (4)编译后报错106明显不正常。该程序原本是Keil4MDK中编写的更新为KeilMDK5出现的问题。理论上官方提供的例程是0错误0警告的。
4、编译错误解决
(1)KeilMDK4中使用的编译器是Missing: Compiler Version 5而KeilMDK5中该编译器默认是不安装的。解决思路就是安装该编译器在编译试试。(ARM Comliler是ARM编译器的意思) (2)安装V5编译器。
KeilMDK V5编译器的安装_朱嘉鼎的博客-CSDN博客
(3)安装后编译结果如下。 5、修改程序
5.1、实现目的
(1)示例程序原来因该是和LCD显示内容有关。
(2)创建2个任务通过串口打印“1”和“2”。
5.2、重写fputc函数。
int fputc( int ch, FILE *f )
{USART_TypeDef *USARTx USART1;while( (USARTx-SR (17)) 0); // 等待上次的数据发送完成USARTx-DR ch;return ch;
}5.3、编写任务函数
/*任务1函数*/
void vTask1()
{while(1){printf(1);}
}/*任务2函数*/
void vTask2()
{while(1){printf(2);}
}
5.3、main函数修改
(1)原main函数全部注释重新编写。
(2)程序。
int main( void )
{/*初始化串口波特率接收发送缓冲区长度*/xSerialPortInitMinimal(115200, 20);/*创建任务1*/xTaskCreate(vTask1, Task 1, 1000, NULL, 1, NULL);/*创建任务2*/xTaskCreate(vTask2, Task 2, 1000, NULL, 1, NULL);/*开启任务调度器*/vTaskStartScheduler();return 0;
}
5.4、软仿真查看实验现象 6、完整工程下载地址
(1)完整工程存储在码云。
(2)https://gitee.com/zhujiading/free-rtos-csdn