将从串口中接收的字符串中的所有大写字母变成小写字母,同时将所有小写字母变成大写字母 , 比如在键盘中输入 abc -123-XYZ ,经过处理之后输出为 ABC -123-xyz 。编程实现 change 函数。 void change(char*string) { // 补充此函数的内容 } int Main(void) { char string[128]; w hile(1) { myUart_Send("Please Input a string:\n"); myUart_receive(string); change(string); Delay(500); myUart_Send(string); } } 3 .已经定义好了函数 Read KEY() , 如果有按键返回 1 ,没有按键返回 0 ;定义好了函数 LEDOnOff( int iOn), 如果 iOn 为 1 ,则点亮 LED ,如果 iOn 为 0 ,则熄灭 LED 。设计 2 个任务,一个任务 ta skKEY 用于每隔 1 0 个 tick 检测一次按键情况,如果有按键则将该状态利用信号量传输给另个任务 task LED ,该任务接收到按键按下的状态,则将 LED 点亮 1 00 个 tick ,然后再熄灭。请补全 2 个任务的代码。 #define TASK_STK_SIZE 256 /* Size of each task's stacks (# of WORDs) */ #define TASK_KEY_PRO 11 /* Key task's priority */ #define TASK_LED_PRO 12 /* LED task's priority */ OS_STK TaskKEYStk[TASK_STK_SIZE]; /* KEY Tasks stacks */ OS_STK TaskLEDStk[TASK_STK_SIZE]; /* LED Tasks stacks */ OS_EVENT *Sem; int ReadKEY(void); void LEDOnOff(int iOn); void TaskKEY(void *pdata) { while(1) { } } void TaskLED(void *pdata) { while(1) { } } void APP_vMain (void) { OSInit(); /* Initialize uC/OS-II */ Sem = OSSemCreate(0); OSTaskCreate(TaskKEY, (void *)0, (void *)&TaskKEYStk[TASK_STK_SIZE - 1], TASK_KEY_PRO); OSTaskCreate(TaskLED, (void *)0, (void *)&TaskLEDStk[TASK_STK_SIZE - 1], TASK_LED_PRO); OSStart(); /* Start multitasking */ }