【iCore4 双核心板_uC/OS-II】例程一:认识 uC/OS-II
一、实验说明:
本例程移值入uC/OS-II,建立三个任务,红色和绿色LED分别以固定频率闪烁,并且打开串口工具,
输出浮点数据。
二、源代码下载链接:
链接:https://pan.baidu.com/s/1o9pY0uI 密码:5roo
三、核心代码:
/** Name : main* Description : ---* Author : zh.** History* --------------------* Rev : 0.00* Date : 07/12/2017* * create.* --------------------*//*实验现象:红色和绿色LED灯分别以固定的频率闪烁,并且打开串口工具,可以看到有数据输出。*/ int main(void) {system_clock.initialize(); //系统时钟初始化led.initialize(); //LED初始化usart6.initialize(115200); //串口初始化 OSInit(); //UCOS初始化OSTaskCreate(start_task, //创建开始任务(void*)0, //任务参数(OS_STK*)&START_TASK_STK[START_STK_SIZE-1], //任务堆栈START_TASK_PRIO); //任务优先级OSStart(); //开启UCOS }
/** Name : start_task* Description : ---* Author : liu.** History* --------------------* Rev : 0.00* Date : 07/12/2017* * create.* --------------------*/ void start_task(void *pdata) {OS_CPU_SR cpu_sr;OSStatInit();//初始化统计任务 OS_ENTER_CRITICAL();//关中断 OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);//创建LED0任务OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);//创建LED1任务OSTaskCreate(usart_task,(void*)0,(OS_STK*)&USART_TASK_STK[USART_STK_SIZE-1],USART_TASK_PRIO);//创建usart任务OSTaskSuspend(OS_PRIO_SELF);//挂起start_task任务 OS_EXIT_CRITICAL();//开中断 }
/** Name : led0_task* Description : ---* Author : liu.** History* --------------------* Rev : 0.00* Date : 07/12/2017* * create.* --------------------*/ void led0_task(void *pdata) {while(1){LED_RED_ON; //红灯亮OSTimeDlyHMSM(0,0,0,500); //延时500msLED_RED_OFF; //红灯灭OSTimeDlyHMSM(0,0,0,500); //延时500ms } } /** Name : led_task* Description : ---* Author : liu.** History* --------------------* Rev : 0.00* Date : 07/12/2017* * create.* --------------------*/ void led1_task(void *pdata) {while(1){LED_GREEN_ON; //绿灯亮OSTimeDlyHMSM(0,0,0,1000); //延时1000msLED_GREEN_OFF; //绿灯灭OSTimeDlyHMSM(0,0,0,1000); //延时1000ms } } /** Name : usart_task* Description : ---* Author : liu.** History* --------------------* Rev : 0.00* Date : 07/12/2017* * create.* --------------------*/ void usart_task(void *pdata) {double f=0.1;while(1){f+=0.1f; //浮点型运算usart6.printf("float f=%.4f\r\n",f); //串口输出OSTimeDlyHMSM(0,0,0,500); //延时500ms } }
iCore4链接:
转载于:https://www.cnblogs.com/xiaomagee/p/8376370.html
【iCore4 双核心板_uC/OS-II】例程一:认识 uC/OS-II相关推荐
- 【iCore4 双核心板_uC/OS-II】例程九:消息队列
一.实验说明: 前面介绍通过信息传递可以进行任务间的交流,信息也可以直接发送给一个任务,在uC/OS-II中每一个任务在它们内部都有一个消息队列,也即任务消息队列,用户可以直接给一个任务发送消息,不需 ...
- 【iCore4 双核心板_ARM】例程一:ARM驱动三色LED
实验原理: 通过STM32的三个GPIO驱动一个三色LED,引脚PB2接红色LED(ARM_LEDR), 引脚PA9接蓝色LED(ARM_LEDB),引脚PA10接绿色LED(ARM_LEDG), ...
- 【iCore4 双核心板_FPGA】例程十一:FSMC总线通信实验——独立地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验方法: 1.将跳线冒跳至USB_UART,通过Micro USB 线将iCore4 USB-UART接口与电脑相连. 2.打开PUTTY软件. 3.通过读U盘转接线将U盘(或者读卡器)与iCore ...
- 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
实验现象: 程序运行时,绿色led闪烁(目前,具体的乘法器调用请参考iCore3乘法器例程) 核心代码: module multiplier_ctrl(input clk_25m,input rst_ ...
- 【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED
实验原理: 通过STM32的三个GPIO口驱动三色LED的三个通道,设定GPIO为推挽输出模式,采 用灌电流方式与LED连接,输出高电平LED灭,输出低电平LED亮,通过系统定时器实现 1s定时,每秒 ...
- 【iCore4 双核心板_FPGA】例程七:状态机实验——状态机使用
实验现象: 按键每按下一次,三色LED改变一次状态. 核心代码: //--------------------module_rst_n---------------------------// mod ...
- 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试
实验现象: 核心代码: int main(void) {/* USER CODE BEGIN 1 */int i,j;int res;float time[2];static int error_fl ...
- 【iCore4 双核心板_ARM】例程二十:LWIP_TCP_CLIENT实验——以太网数据传输
实验现象: 核心代码: int main(void) { system_clock.initialize(); //ϵͳʱÖÓ³õʼ»¯led.initialize(); //LED³õʼ» ...
最新文章
- 25. javacript高级程序设计-新兴的API
- K近邻算法:以同类相吸解决分类问题!
- animate.css官网
- java WebService 异常
- day55 linux 基础以及系统优化
- java设计思想和设计模式,快来收藏!
- winform通过restsharp调用api接口登录及其它接口
- python消费kafka逻辑处理导致cpu升高_用Apache Kafka 和 Python 搭建分布式流处理系统[翻译]...
- 一个websocket 可以多个页面创建吗_聊聊 WebSocket,还有 HTTP
- SAS入门(一)理论篇
- r语言Isfit_应用统计学与R语言实现学习笔记(七)——拟合优度检验
- C++使用Socks5协议进行代理上网(四)
- PS软件的一些基本快捷键
- c语言源文件经过编译后生成文件的后缀是什么?
- Python数学建模 熵权法/熵值法
- c#十二星座速配系统_不同的调是否具有独立色彩?作曲时如何选择用什么调?...
- lib和lib64的区别
- Glide加载圆角图片不显示问题
- 车牌识别一体机二次开发
- 机器人领域主要国际会议与期刊列表
热门文章
- 单文件图片管理php,php封装的单文件(图片)上传类完整实例
- 符号库匹配不对的原因_整理了几种离合器打滑的原因,再安装调试时可别弄错了...
- pandas 聚合函数
- git 编译安装 centos7
- 3.8 Softmax 回归
- R语言分类算法之集成学习(Bootstrap Aggregating)
- mysql怎么直接显示对象信息_对象保存进MySQL数据库,从MySQL中读取出对象信息的源码...
- python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...
- 云存储网关 > 常见问题 > 文件网关 > 文件网关的缓存有什么作用
- 2018年博客之星评选,需要您宝贵的一票!非常感谢!