 
					
				 
					
				 
					
				 
					
				 
					
				 SecureCRT_CN.rar(终端通讯软件,后头有讲)
——————————————————————————————————————————————————————
串口很熟悉了,51中已经非常常见了,用库来做还是非常的容易的,只要简单配置一下就行了
  USART_InitTypeDef   USART_InitStructure;      //定义类型
  USART_StructInit(&USART_InitStructure);        //初始化数据结构
  USART_InitStructure.USART_BaudRate=9600;   //波特率选择(可自行增加修改)
  USART_Init(USART1,&USART_InitStructure);   //配置串口
  USART_Cmd(USART1,ENABLE);                     // 打开串口
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //接收中断
使用也是很简单
发送如下写即可,(u8) ch 为发送的字符数据
USART_SendData(USART1, (u8) ch); 
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);  
接收就应该在中断中了,否则这接收会出问题
if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
    {
      USART_ClearITPendingBit(USART1,USART_IT_RXNE);   //清楚中断标志
      Receive_buffer=USART_ReceiveData(USART1);             
   }   
——————————————————————————————————————————————————————
      基本的串口通信就如上所做的,当然要想弄点奇偶校验什么的,也配置上去就好了。说点别的吧。
     学C的时候大家肯定都学到printf 这个输出吧,是不是和爽~!
  printf("很爽有木有,很爽有木有?");
     其实单片机也可以用D,这就要时候的时候用上C输出的这个库,并且把printf 这个函数重定义到我们的串口输出去。
     这里我们要使用上我们亲爱的stdio.h 库。为此要做以下设置,把Use MicroLIB 钩上

然后 main.c 里写上
#include <stdio.h>
#include <stdarg.h>
#ifdef __GNUC__ 
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) 
#else 
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) 
#endif  
PUTCHAR_PROTOTYPE 
{ 
USART_SendData(USART1, (u8) ch); 
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);  
return ch; 
} 
把以上重定义 printf 函数代码打到自己的代码上吧。
printf("Hello,world~!");//  打上经典的一句吧,是不是已经从串口调试助手中出现了???
想打上句中文,貌似有些串口调试助手不支持,这也不够装B 。SO~ 我们需要另外一样工具了“超级终端”。如果你是XP 系统的话,就可以在开始菜单栏里面找到这个东西,设置就自己问度娘吧,其实也就把属性那串口属性设置好就能用了。如果你像我一样是WIN7,噢~ I am sorry,WIN7 把这个工具给阉了。可以找别的中断软件,我这用SecureCRT,上传一个吧~!在顶上呢。(使用方法,自己问谷哥)。
再输入一次,
void LEDUart_Display(u8 LedState)
{
  printf("\r\n\n\n\n\n\r*****************************************************************\n\n\r");
  printf("----------------STM32 ARM-DIY进程(BRUCEG)-----------------");
  printf("\r\n\n\r*****************************************************************\n\n\r");
  printf("\r 1.全循环闪烁\n");
  printf("\r 2.竖循环闪烁\n");
  printf("\r 3.横循环闪烁\n");
  printf("\r 4.竖全亮控开关\n");
  printf("\r 5.横全亮控开关\n");  
  printf("\r 6.全亮\n");
  printf("\r 7.全灭\n");
  printf("\n\r 0.返回上一层\n");
  printf("\n\n\r");
  printf("\r当前运行状态:%c\n",LedState);
  printf("\r请输入控制序号:");
}
然后终端中看~

界面出来咯。这周忙着,得多等一会再传效果图上来了。
 
					
				回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |

 
			
			
			
						
			 
					
				 
					
				 
										 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

