当前位置: 首页 > news >正文

官方网站开发制作百度手机app下载安装

官方网站开发制作,百度手机app下载安装,建设好网站需要做推广,个人站长做什么网站好USART基本结构 串口发送信息 启动串口一的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);初始化对应串口一的时钟,引脚,将TX引脚设置为复用推挽输出。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef GPIO_In…

USART基本结构

在这里插入图片描述

串口发送信息

启动串口一的时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);

初始化对应串口一的时钟,引脚,将TX引脚设置为复用推挽输出。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStruct);

配置串口一配置寄存器,设置波特率为9600,关闭硬件流控,不使用校验位,数据长度为八字节

USART_InitTypeDef  USART_InitStruct;
USART_InitStruct.USART_BaudRate=9600;
USART_InitStruct.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStruct.USART_Mode=USART_Mode_Tx;
USART_InitStruct.USART_Parity=USART_Parity_No;
USART_InitStruct.USART_StopBits=USART_StopBits_1;
USART_InitStruct.USART_WordLength=USART_WordLength_8b;
USART_Init(USART1,&USART_InitStruct);

封装串口发送字节函数

void Serial_SendByte(uint8_t Byte)
{USART_SendData(USART1,Byte);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)== RESET);	
}

封装串口发送字符串函数

void Serial_SendString(char *String)
{uint8_t i;for (i=0;String[i]!='\0';i++){Serial_SendByte(String[i]);}
}

封装串口发送数组函数

void Serial_SendArray(uint8_t *Array,uint16_t Length)
{uint16_t i;for (i=0;i<Length;i++){Serial_SendByte(Array[i]);}
}

封装串口发送数字函数

uint32_t Serial_Pow(uint32_t x, uint32_t y)
{uint32_t Result = 1;while(y--){Result *= x;}return Result;
}
void Serial_SendNumber(uint32_t Number, uint8_t Length)
{uint8_t i;for(i=0; i<Length; i++){Serial_SendByte(Number / Serial_Pow(10,Length-i-1)%10);}
}

进阶一:重定向print输出到串口中

/*fputc是print函数的底层所以,修改底层文件就能将print输出重定向到串口。
*/
int fputc(int ch, FILE  *f)
{Serial_SendByte(ch);return ch;
}

进阶二:封装Serial_Sprintf完成串口输出功能

/*
char String[100];
sprintf(String,"Num=%d\r\n",666)
Serial_SendString(String);
等价于以下这行代码
printf("Num=%d\r\n",666)
*/
void Serial_Printf(char *format, ...)
{char String[100];va_list arg;va_start(arg,format);vsprintf(String,format,arg);va_end(arg);Serial_SendString(String);
}

注意:
①发送和接受均不需要手动清除发送或接收标志位,因为当发送字节或者读取字节内容时,硬件会自动清0
②Serial_Printf(“串口输出也支持中文输出”);
当编码格式为 UTF-8时才需要配置参数 --no-multibyte-chars
当编码格式为GB2312时则不需要配置参数

http://www.ds6.com.cn/news/14939.html

相关文章:

  • 网站建设基础及流程百度竞价排名危机事件
  • 余姚网站建设公司广告关键词有哪些
  • 淘宝做链接有哪些网站可以做运用搜索引擎营销的案例
  • 网站做任务 炸金花郑州百度推广代运营
  • 招聘网站建设费用多少钱百度电话号码查询
  • 上海做网站汉狮网络关键词优化公司排名
  • 网站建好了还需要什么维护网站优化关键词价格
  • 在线商城平台麒麟seo软件
  • 一起做网站17广州app推广引流
  • 武汉网站建设的公司肇庆网站推广排名
  • 闸北做网站最新足球新闻头条
  • 360平台怎么做网站优化长沙优化网站
  • 北京网站开发制作公司北京优化seo公司
  • .net asp可以外链其它网站吗关键词排名查询网站
  • 小程序开发平台好牌子推荐深圳百度seo怎么做
  • 怎样做约票的网站意思google官方下载app
  • 广州市研发网站建设价格百度付费推广的费用
  • 淘宝请人做网站靠谱吗自媒体平台排名
  • 成都网站建设公司招聘百度收录量查询
  • 深圳企业网站建设成都网络推广中联无限
  • 做特卖的网站seo营销培训
  • 橙子建站输入了验证码有危险吗seo站长工具是什么
  • 哪个新闻网站做的好关键词优化排名平台
  • 动漫网站怎么做鹤壁网站推广公司
  • 厦门做网站软件win10优化大师好用吗
  • 手机网站设计需要学什么网络推广是什么意思
  • 网站手机版跳转 seo网站创建的流程是什么
  • 自建网站餐饮服务提供者应在通信主管部门备案后最近的重要新闻
  • 新乡网站收录优美的图片app
  • 海北高端网站建设公司seo技术经理