#define DEBUG 1
#include "CH57x_common.h"
#include "HAL.h"
#include "CH57xBLE_LIB.h"
sta
tic tmosTaskID MyTaskID = INVALID_TASK_ID;
__attribute__((section(".highcode")))
void Main_Circulation()
{
while(1){
TMOS_SystemProcess( );
}
}
tmosEvents MyTask_ProcessEvent(tmosTaskID task_id, tmosEvents events) {
PRINT("MyTask_ProcessEvent invoked n");
return 0;
}
int main() {
bStatus_t s;
SetSysClock( CLK_SOURCE_PLL_60MHz );
GPIOA_SetBits( GPIO_Pin_9 );
GPIOA_ModeCfg( GPIO_Pin_8, GPIO_ModeIN_PU );
GPIOA_ModeCfg( GPIO_Pin_9, GPIO_ModeOut_PP_5mA );
UART1_DefInit();
PRINT( "Start @ChipID=%02Xn", R8_CHIP_ID );
HAL_Init();
MyTaskID = TMOS_ProcessEventRegister(MyTask_ProcessEvent);
// s = tmos_set_event(MyTaskID, 0U);
s = tmos_start_task(MyTaskID, 0U, 1U);
PRINT("s=%xn", s);
Main_Circulation();
}
这是我参考蓝牙部分的代码 写的 TMOS 最小的例子, 这里面有几个问题
1. 如果我用
s = tmos_set_event(MyTaskID, 0U);
则 tmos_set_event 返回是 3, 按头文件的说法应该是不成功,这里不知道为什么, 用 tmos_start_task 返回是 0
2.
串口中没有打印
Start @ChipID=73
s=0
MyTask_ProcessEvent invoked
串口仅打印
Start @ChipID=73
s=0
这和预期不符, 说明对应的处理函数没有被调度到
我这样写代码是正确的吗? 如果不正确应该怎么写?