STM32操作系统

  • Z6_298991
    了解作者
  • 20.5MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-11 10:21
    上传日期
此系统基于UCOS超精简,系统,上手简单,学习起来快
TRTOS.rar
内容介绍
<<<<<<<<<<<在对本TOS系统及TGUI进行修改或升级必须遵循以下规范>>>>>>>>>>>> 【结构规范】 代码组织结构必须按照原结构对号入座,不得擅自更改,结构调整过的代码禁止上传到svn. 代码依赖关系尽可能独立,以确保系统的可裁剪性和移植性. 【版本规范】 版本号规范 Ver3.43 Version=3.0版本,在更改目录结构和框架结构的时候主版本号升级. Subedition=43版本,在增加或修改驱动等非框架结构副版本号升级. 【编程注意】 在中断内部不允许对任务进行切换,只能对任务进行唤醒. 【代码规范】 所有子函数注释最少保证三条,功能介绍(Func)、最后修改日期(Date)、备注或描述(Note). 可新增注释 作者(Writer)、版本(Ver). 【编程帮助】 /************************************************************* Func: 消息队列的用法 Date: 2014-9-10 Note: 接收方 *************************************************************/ void TaskReviceQMsg(void *Tags) { uint8 Buf[100]; uint16 i; Tos_ArrayMessage *CurMsg,Msg[10]; TQFS_Open_File NewOpenFile; CanRxMsg *RxMessage; CanRxMsg RxMessageBuf[10]; i=TQFS_FindKeyPageMark(FT_FileHead,FT_FileHead); TQFS_SetCursor(&NewOpenFile,i,0); for(i=0;i<10;i++)Msg[i].Qmsg_Addr=&RxMessageBuf[i]; Tos_TaskCreateQmsg(&Msg[0],10); while(1) { Tos_TaskDelay(10); CurMsg=Tos_TaskGetQMsg(); if(CurMsg) { RxMessage=CurMsg->Qmsg_Addr; DeBug("RxMessage->Data[0]=%d",RxMessage->Data[0],Infor_Infor); } } } /************************************************************* Func: 消息队列的用法 Date: 2014-9-10 Note: 发送方 *************************************************************/ void TaskSendQMsg(void *Tags) { uint8 i; CanRxMsg RxMessage; while(1) { Tos_TaskDelay(100); RxMessage.Data[0]=i++; Tos_TaskPutQmsg(2,0,sizeof(CanRxMsg),&RxMessage); } } /************************************************************* Func: Nrf2401使用 Date: 2014-9-22 Note: 发送方 *************************************************************/ int main(void) { SPI_NRF_Init(); /* 串口1初始化 */ USART1_Config(); printf("\r\n 这是一个 NRF24L01 无线传输实验 \r\n"); printf("\r\n 这是无线传输 主机端 的反馈信息\r\n"); printf("\r\n 正在检测NRF与MCU是否正常连接。。。\r\n"); /*检测NRF模块与MCU的连接*/ status = NRF_Check(); /*判断连接状态*/ if(status == SUCCESS) printf("\r\n NRF与MCU连接成功!\r\n"); else printf("\r\n NRF与MCU连接失败,请重新检查接线。\r\n"); while(1) { printf("\r\n 主机端 进入自应答发送模式\r\n"); NRF_TX_Mode(); /*开始发送数据*/ status = NRF_Tx_Dat(txbuf); /*判断发送状态*/ switch(status) { case MAX_RT: printf("\r\n 主机端 没接收到应答信号,发送次数超过限定值,发送失败。 \r\n"); break; case ERROR: printf("\r\n 未知原因导致发送失败。 \r\n"); break; case TX_DS: printf("\r\n 主机端 接收到 从机端 的应答信号,发送成功! \r\n"); break; } printf("\r\n 主机端 进入接收模式。 \r\n"); NRF_RX_Mode(); /*等待接收数据*/ status = NRF_Rx_Dat(rxbuf); /*判断接收状态*/ switch(status) { case RX_DR: for(i=0;i<4;i++) { printf("\r\n 主机端 接收到 从机端 发送的数据为:%d \r\n",rxbuf[i]); txbuf[i] =rxbuf[i]; } break; case ERROR: printf("\r\n 主机端 接收出错。 \r\n"); break; } } }
评论
    相关推荐