学习STM32编程USART控制流水灯
关键代码usart.c:#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to "Yes") calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif // __GNUC__ PUTCHAR_PROTOTYPE { /* Place your implementation of fputc here */ /* e.g. write a character to the USART */ USART_SendData(USART1, (uint8_t) ch); /* Loop until the end of transmission */ while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) {} return ch; } #if USART1_RX_EN uint8_t USART1_RX_Buffer[USART_RX_MAX]={0}; uint8_t USART1_RX_Index=0; uint8_t USART1_RX_OverFlag=0; #endif void USART1_Init(uint32_t baudRate) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9 | GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType=GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Fast_Speed; GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP; GPIO_Init(GPIOF,&GPIO_InitStructure); USART_InitStructure.USART_BaudRate=baudRate; USART_InitStructure.USART_WordLength=USART_WordLength_8b; USART_InitStructure.USART_StopBits=USART_StopBits_1; USART_InitStructure.USART_Parity=USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode=USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1,&USART_InitStructure); USART_Cmd(USART1,ENABLE); #if USART1_RX_EN USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1; NVIC_InitStructure.NVIC_IRQChannelSubPriority=3; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure); #endif } void USART1_IRQHandler(void) { uint8_t Res; if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) { //Res=USART1->DR; Res=USART_ReceiveData(USART1); if(USART1_RX_Index>=USART_RX_MAX) { USART1_RX_Index=0; } if(Res!="#") { USART1_RX_Buffer[USART1_RX_Index++]=Res; } else if(Res=="#") { USART1_RX_Buffer[USART1_RX_Index++]=Res; USART1_RX_OverFlag=1; } } USART_ClearFlag(USART1,USART_FLAG_RXNE); }
main.c:LED_WorkModeTypeDef myLEDWorkMode=LED_MODE1; const char stringMode1[8]="mode_1#"; const char stringMode2[8]="mode_2#"; const char *stringMode3="mode_3#"; int main(void) { delay_init(168); LED_Init(); USART1_Init(115200); printf("System Started!r "); while(1) { if(USART1_RX_OverFlag==1) { if(strstr((const char *)USART1_RX_Buffer,stringMode1)!=NULL) { printf("I"m in mode_1!r "); myLEDWorkMode=LED_MODE1; } else if(strstr((const char *)USART1_RX_Buffer,stringMode2)!=NULL) { printf("I"m in mode_2!r "); myLEDWorkMode=LED_MODE2; } else if(strstr((const char *)USART1_RX_Buffer,stringMode3)!=NULL) { printf("I"m in mode_3!r "); myLEDWorkMode=LED_MODE3; } USART1_RX_Index=0; USART1_RX_OverFlag=0; memset(USART1_RX_Buffer,0,USART_RX_MAX); } if(myLEDWorkMode==LED_MODE1) { LED_Mode1(1000); } else if(myLEDWorkMode==LED_MODE2) { LED_Mode2(); } else if(myLEDWorkMode==LED_MODE3) { LED_Mode3(); } } }
因丑闻被迫退圈,后创潮牌年入千万,陈冠希如今怎么样了?曾经他是放浪形骸的情场浪子,因一场照片风波被迫无限期退出娱乐圈。如今他是热衷于晒娃的超级奶爸,家人在他的生命中占据着无比重要的地位。都说浪子回头金不换,他却说如果让我回到过去我会改
向往的生活第五季重播,李维嘉突然被打码,此前他已消失一年10月1日,有湖南网友在收看湖南广播电视台都市频道(以下简称湖南都市)的时候,发现在频道播出的向往的生活第五季里面,有一位嘉宾被马赛克覆盖了脸部,行业内俗称的打码。向往的生活第五季
2022国庆最新电影精彩上新分享一元换命DeadforADollar(2022)6。7导演沃尔特希尔主演克里斯托弗瓦尔兹威廉达福瑞秋布罗斯纳安本杰明布拉特哈米什林克莱特盖布耐特布兰登斯考特J。D。Garfield
恭喜啊!一儿一女,终于凑成一个好字!原来一切都有预谋没错说的戚薇李承铉。期初是网友发现戚薇在社交平台发布了一张潮玩娃娃的照片,并配文又一只,疑似官宣已经生娃。接着又有网友爆料,在录某综艺时,李承铉就官宣老婆已经生完二胎。张智霖还无意
13年前爆红网络的凤姐,被骂后出走美国,如今过得怎样?2009年10月,在上海国际金融中心的陆家嘴,一位穿着洁白婚纱的女人在地铁站附近派发自己的征婚传单,连续多天足足派发出去一万多份!这份传单上,她这样介绍自己琴棋书画无所不通,智商6
朱小伟陈萌大婚超豪华,直升机接亲红毯铺满地,预估花费数百万大衣哥儿子朱小伟结婚了!10月1日上午,有网友晒出了朱小伟与陈萌大婚的视频,其豪华程度震惊无数吃瓜网友,让众人直呼太羡慕。朱小伟陈萌大婚超豪华,直升机接亲红毯铺满地,预估花费数百万
杨颖默默关注黄晓明被抓包,疑似想复合,曾被曝同桌聚餐杨颖和黄晓明离婚之后,两个人之间几乎就没有任何交集,就连对接儿子,也是杨颖跟黄晓明的父母对接,从来不跟黄晓明见面,似乎他们在刻意回避,不给彼此留下任何机会。就在大家以为两个人可能已
守望先锋2归来需要什么配置针对即将在10月5日以免费形式提供游玩的守望先锋2,守望先锋2归来是由暴雪娱乐开发的第一人称射击游戏作品,该版本将会是守望先锋的续作。暴雪同时还宣布守望先锋2。0版本对战将由守望先
新酿老酒一瓶装!梦幻模拟战手游评测作为经典的日式战棋游戏,梦境模仿战系列在老一辈中国玩家心中有着极高的位置。这次在手机平台上的回归,开发商没有选择之前游戏橘子的正式翻译兰格利萨,而是沿用了盗版商的错误翻译梦境模仿战
手工星球在家里也能圈养稀有鱼类?钓鱼达人都这样捕获石鲷作者星球社牛小生作为手工星球里的钓鱼达人,小生我已经将所有鱼类钓了个遍。而近期星球收藏家活动推出,需要捕获石鲷才能完成任务,因此不少朋友问小生石鲷去哪钓?下面小生就从准备工具如何前
关于碳水化合物的分类关于碳水化合物的种类不同的碳水化合物都具有不同的形式和功效,了解碳水化合物的种类和其对身体的作用至关重要包括哪些类型能快速恢复消耗的肌糖原,哪些类型能在比赛中维持血糖水平(这对保持