#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "gpio.h"
#include "includes.h"//包含操作系统头文
#include "com.h"
#include "fsmc.h"
#include "timer.h"
//ucosii 操作系统 组网
frame_typedef AccessNet_frame={0,1,1,0,1};//UID为1的终端随机接入
frame_typedef REG_REQ={0,1,1,0,2};//REG_REQ
frame_typedef REG_RSP={0,1,1,0,3};//REG_RSP
frame_typedef RNG_REQ={0,1,1,0,4};//RNG_REQ
frame_typedef RNG_RSP={1,1,1,0,5};//RNG_RSP
/UCOSII任务设置///
//START 任务
//设置任务优先级
#define START_TASK_PRIO 10 //开始任务的优先级设置为最低
//设置任务堆栈大小
#define START_STK_SIZE 64
//任务堆栈
OS_STK START_TASK_STK[START_STK_SIZE];
//任务函数
void start_task(void *pdata);
//拆帧任务
//设置任务优先级
#define OPEN_FRAME_TASK_PRIO 5
//设置任务堆栈大小
#define OPEN_FRAME_STK_SIZE 64
//任务堆栈
OS_STK OPEN_FRAME_TASK_STK[OPEN_FRAME_STK_SIZE];
//任务函数
void open_frame_task(void *pdata);
//控制任务
//设置任务优先级
#define NetIn_TASK_PRIO 4
//设置任务堆栈大小
#define NetIn_STK_SIZE 64
//任务堆栈
OS_STK NetIn_TASK_STK[NetIn_STK_SIZE];
//任务函数
void NetIn_task(void *pdata);
//LED任务
//设置任务优先级
#define LED_TASK_PRIO 6
//设置任务堆栈大小
#define LED_STK_SIZE 64
//任务堆栈
OS_STK LED_TASK_STK[LED_STK_SIZE];
//任务函数
void led_task(void *pdata);
OS_EVENT * msg_rec_frame; //收到帧邮箱事件块指针,msg_key为结构体指针
OS_EVENT * sem_syn; //拆帧和控制之间作同步的信号量
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2//
delay_init(168); //初始化延时函数
LED_Init(); //初始化LED端口
fcmc_Init(); //初始化FSMC接口
TIM3_Int_Init(1-1,21-1);//PRE=4Mhz,0.25us
uart_init(9600); //初始化串口波特率为115200
// printf("initial success\r\n");
OSInit();
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//创建起始任务
OSStart();
}
//开始任务
v
当串口printf函数在ucosii操作系统出现的奇葩现象???
最新推荐文章于 2023-04-16 15:29:57 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)