📄 main.c
字号:
#include "config.h"
#define TaskStkLengh 64 //定义用户任务的堆栈长度
void TaskUARTtoCANSend (void *pdata); //CAN发送任务声明
OS_STK TaskUARTtoCANSendStk [TaskStkLengh];
void TaskCAN1toURATSend (void *pdata); //UART发送任务声明
OS_STK TaskCAN1toURATSendStk [TaskStkLengh]; //UART发送任务的堆栈
void TaskCAN2toURATSend (void *pdata);
OS_STK TaskCAN2toURATSendStk [TaskStkLengh];
int main()
{
OSInit ();
CAN1Send = OSSemCreate (0);
CAN2Send = OSSemCreate (0);
OSTaskCreate (TaskUARTtoCANSend,(void *)0, &TaskUARTtoCANSendStk[TaskStkLengh - 1], 2);
OSTaskCreate (TaskCAN1toURATSend,(void *)0, &TaskCAN1toURATSendStk[TaskStkLengh - 1], 3);
OSTaskCreate (TaskCAN2toURATSend,(void *)0, &TaskCAN2toURATSendStk[TaskStkLengh - 1], 4);
OSStart ();
}
void TaskUARTtoCANSend (void *pdata)
{
pdata = pdata;
TargetInit ();
T0TCR = 0x01;
while (1)
{
OSTaskSuspend (0x02);
RS232SendToCAN (SRBuf[1],SRBuf[15] ,&Rs232toCANDataBuf, SRBuf );
}
}
void TaskCAN1toURATSend (void *pdata)
{
INT8U err;
pdata = pdata;
while (1)
{
OSSemPend (CAN1Send,0,&err);
if (U0LSR&0x20)
CANSendToRS232 (CAN1, UART0, &CANRcvCyBufApp[CAN1] );
}
}
void TaskCAN2toURATSend (void *pdata)
{
INT8U err;
pdata = pdata;
while (1)
{
OSSemPend (CAN2Send,0,&err);
if (U0LSR&0x20)
CANSendToRS232 (CAN2, UART0, &CANRcvCyBufApp[CAN2] );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -