新手上路
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2021-10-29
- 在线时间
- 7 小时
|

楼主 |
发表于 2021-11-24 11:43:09
|
显示全部楼层
本帖最后由 18858597983 于 2021-11-24 16:33 编辑
#define START_TASK_PRIO 4
//任务堆栈大小
#define START_STK_SIZE 1024
//任务控制块
OS_TCB StartTaskTCB;
//任务堆栈
CPU_STK START_TASK_STK[START_STK_SIZE];
//任务函数
void start_task(void *p_arg);//-------创建开始任务
int main(void)
{
OS_ERR err;
CPU_SR_ALLOC();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //延时初始化
uart_init(9600); //串口初始化波特率为115200
uart4_init(9600);
LED_Init(); //初始化与LED连接的硬件接口
//loramode_Init();
LED0 = 0;
LED1 = 0;
////AT24CXX_Init();
//SystemData_Init();
//IWDG_Init(IWDG_Prescaler_256,0x0FFF);
////g_Radio.Init(&stting);//初始化配置
OSInit(&err); //初始化UCOSIII
OS_CRITICAL_ENTER(); //进入临界区
OSTaskCreate((OS_TCB * )&StartTaskTCB, //任务控制块
(CPU_CHAR * )"start task", //任务名字
(OS_TASK_PTR )start_task, //任务函数
(void * )0, //传递给任务函数的参数
(OS_PRIO )START_TASK_PRIO, //任务优先级
(CPU_STK * )&START_TASK_STK[0], //任务堆栈基地址
(CPU_STK_SIZE)START_STK_SIZE/10, //任务堆栈深度限位
(CPU_STK_SIZE)START_STK_SIZE, //任务堆栈大小
(OS_MSG_QTY )0, //任务内部消息队列能够接收的最大消息数目,为0时禁止接收消息
(OS_TICK )0, //当使能时间片轮转时的时间片长度,为0时为默认长度,
(void * )0, //用户补充的存储区
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, //任务选项
(OS_ERR * )&err); //存放该函数错误时的返回值
OS_CRITICAL_EXIT(); //退出临界区
OSStart(&err); //开启UCOSIII
}
void start_task(void *p_arg)
{
OS_ERR err;
CPU_SR_ALLOC();
p_arg = p_arg;
printf("12311");
CPU_Init();
程序如上,不是串口打印的问题波特率没问题,整个代码编译正确,帮我看看什么问题
|
|