完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
杨桃32学习笔记,本文图片文字皆为转述
示例程序烧录验证 使用之前文章讲过的烧录软件烧录结束后,打开超级终端,按下回车弹出指令界面如下,按照提示可以输入命令进行控制led状态。 基于上一节程序修改 全局变量 函数体内部的变量的作用域仅在该函数内,如果想要在别的文件和函数内调用该变量就需要定义全局变量。具体方法如下 我们在超级终端输入的命令保存在,接收缓冲数组中,当我们按下回车的时候,程序就会在数组中查找我们输入的内容 使能串口1中断 因为在串口处理函数当中,对串口接受的内容进行处理。 解读usart.c中实现超级终端控制的函数 修改主函数 #include "stm32f10x.h" //STM32头文件 #include "sys.h" #include "delay.h" #include "led.h" #include "key.h" #include "buzzer.h" #include "usart.h" int main (void){//主程序 RCC_Configuration(); LED_Init();//LED初始化 KEY_Init();//按键初始化 BUZZER_Init();//蜂鸣器初始化 USART1_Init(115200); //串口初始化,参数中写波特率 USART1_RX_STA=0xC000; //初始值设为有回车的状态,即显示一次欢迎词 while(1){ if(USART1_RX_STA&0xC000){ //如果标志位是0xC000表示收到数据串完成,可以处理。 if((USART1_RX_STA&0x3FFF)==0){ //单独的回车键再显示一次欢迎词 printf(" 33[1;47;33mrn"); //设置颜色(参考超级终端使用) printf(" 1y--开LED1灯 1n--关LED1灯 rn"); printf(" 2y--开LED2灯 2n--关LED2灯 rn"); printf(" 请输入控制指令,按回车键执行! 33[0mrn"); }else if((USART1_RX_STA&0x3FFF)==2 && USART1_RX_BUF[0]=='1' && USART1_RX_BUF[1]=='y'){ //判断数据是不是2个,第一个数据是不是“1”,第二个是不是“y” GPIO_SetBits(LEDPORT,LED1); //LED灯都为高电平(1) printf("1y -- LED1灯已经点亮!rn"); }else if((USART1_RX_STA&0x3FFF)==2 && USART1_RX_BUF[0]=='1' && USART1_RX_BUF[1]=='n'){ GPIO_ResetBits(LEDPORT,LED1); LED灯都为低电平(0) printf("1n -- LED1灯已经熄灭!rn"); }else if((USART1_RX_STA&0x3FFF)==2 && USART1_RX_BUF[0]=='2' && USART1_RX_BUF[1]=='y'){ GPIO_SetBits(LEDPORT,LED2); //LED灯都为高电平(1) printf("2y -- LED2灯已经点亮!rn"); }else if((USART1_RX_STA&0x3FFF)==2 && USART1_RX_BUF[0]=='2' && USART1_RX_BUF[1]=='n'){ GPIO_ResetBits(LEDPORT,LED2); LED灯都为低电平(0) printf("2n -- LED2灯已经熄灭!rn"); }else{ //如果以上都不是,即是错误的指令。 printf("指令错误!rn"); } USART1_RX_STA=0; //将串口数据标志位清0 } } } 烧录验证 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:45 , Processed in 0.805641 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号