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

通用网站后台管理系统(php版) 1.6怎么用行业关键词词库

通用网站后台管理系统(php版) 1.6怎么用,行业关键词词库,网站建设手机端,做网站维护有前途吗一、STM32CubeMX 配置串口 每个外设生成独立的 ’.c/.h’ 文件 不勾&#xff1a;所有初始化代码都生成在 main.c 勾选&#xff1a;初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。 二、重写fputc函数 ​ #include <stdio.h>#ifdef __GNUC__#def…

一、STM32CubeMX 配置串口

 

 

 

 

每个外设生成独立的 ’.c/.h’ 文件
不勾:所有初始化代码都生成在 main.c
勾选:初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。

 

二、重写fputc函数

​
#include <stdio.h>#ifdef __GNUC__#define PUTCHAR_PROTOTYPE int _io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endif /* __GNUC__*//*******************************************************************@brief  Retargets the C library printf  function to the USART.*@param  None*@retval None******************************************************************/PUTCHAR_PROTOTYPE{HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1,0xFFFF);return ch;}​

三、配置接收中断函数

​
#define RXBUFFERSIZE    1                       /* 缓存大小 */
uint8_t  g_usart_rx_buf[200];  //接收缓冲,最大200个字节
uint16_t g_usart_rx_len;   	   //接收长度
uint8_t g_usart_rx_flag=0;	   //接收完成标志
uint8_t g_rx_buffer[RXBUFFERSIZE];       /* HAL库USART接收Buffer */在串口初始化函数中使能接收中断
/* 该函数会开启接收中断:标志位UART_IT_RXNE,并且设置接收缓冲以及接收缓冲接收最大数据量 */
HAL_UART_Receive_IT(&huart1, (uint8_t *)g_rx_buffer, RXBUFFERSIZE);void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{  if(huart->Instance == USART1)     {g_usart_rx_buf[g_usart_rx_len] = g_rx_buffer[0] ;g_usart_rx_len++;if(g_rx_buffer[0]==0x0a){g_usart_rx_flag=1;}HAL_UART_Receive_IT(&huart1, (uint8_t *)g_rx_buffer, RXBUFFERSIZE);}
}​

四、串口空闲中断接收数据

__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);//空闲中断
#define USART1_MAX_RECV_LEN		1000				//最大接收缓存字节数
char USART1_RX_BUF[USART1_MAX_RECV_LEN]; 				//接收缓冲,最大USART3_MAX_RECV_LEN个字节
unsigned short USART1_RX_STA=0;   	/* USER CODE BEGIN 1 */
void USART1_IRQHandler(void)
{uint8_t res = 0;//接收中断if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_RXNE) != RESET){HAL_UART_Receive(&huart1,&res,1,1000);//将数据放入缓冲区if( (USART1_RX_STA&0x7fff) < USART1_MAX_RECV_LEN){USART1_RX_BUF[USART1_RX_STA] = res;USART1_RX_STA++;}__HAL_UART_CLEAR_FLAG(&huart1,UART_FLAG_RXNE);}//空闲中断if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE) != RESET){//一帧数据接收完成//USART1_IdleCallback(USART1_RX_BUF,USART1_RX_STA&0x7fff);USART1_RX_BUF[ USART1_RX_STA &0x7fff] = 0;USART1_RX_STA |= 1 << 15;  __HAL_UART_CLEAR_IDLEFLAG(&huart1);}
}
	if(USART1_RX_STA& 0x8000){printf("%s\r\n",USART1_RX_BUF);USART1_RX_STA=0;}

五、串口乱码原因之一

        乱码一般是配置串口波特率和上位机串口波特率不一致所致,如果两者一致,则说明系统时钟有问题,比如下面的外部晶振不匹配

         开发板上外部时钟的晶振与代码中的外部时钟的晶振不一致,使用cubemx配置时钟时要格外注意,选好芯片之后再看外部晶振是啥,不然随便设置可能乱码

http://www.yidumall.com/news/99810.html

相关文章:

  • 邢台县教育局五库建设网站seo线下培训课程
  • php钓鱼网站开发销售
  • 网站怎么做留言板海淀seo搜索引擎优化公司
  • 如何做好营销seo优化名词解释
  • 做网站备案需要啥资料百度视频广告怎么投放
  • 个别网站网速慢怎么做企业推广网站
  • 网站实时推送怎么做滁州网站seo
  • 淘宝刷单网站开发疫情防控数据
  • 帮客户做ppt什么的在哪个网站百度平台商家
  • 深圳网站建设 设计卓越想做电商怎么入手
  • 中山外贸网站建设优化网站搜索排名
  • 怎么做网站banner在线资源链接
  • 建筑网站带图解谷歌seo网站推广怎么做
  • 如何在谷歌上做网站一个免费的网站
  • 厦门微信网站建seo外包收费
  • wordpress 李贤威seo推广排名公司
  • 小尾巴 wordpress上海外包seo
  • 三星做号网站商丘网络推广公司
  • 网站开发和移动开发泸州网站seo
  • 如何构建个人网站谷歌广告投放教程
  • 平邑网站定制宁波seo网络推广
  • 网站的后台怎么做电话营销技巧和营销方法
  • 安化网站建设公司网络营销策划书
  • 做什么网站吸引人百度普通下载
  • 青岛网站建设华夏网络营销公司有哪些
  • 合肥定制网站建设seo快速优化文章排名
  • 大理旅游网站建设抖音seo搜索优化
  • 网站优化入门怎么知道网站有没有被收录
  • 网站开发怎么做电子商务网站建设规划方案
  • wordpress 数据图片存在哪seo网站有优化培训吗