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

深圳罗湖企业网站推广微商刚起步怎么找客源

深圳罗湖企业网站推广,微商刚起步怎么找客源,潜江网站设计公司,安徽圣力建设集团有限公司网站1.串口基础 2.串口发送 1)基本配置 注意:实现串口通信功能需在keil中设置打开Use Micro LIB,才能通过串口助手观察到串口信息 2)编辑代码 int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration-------------…

1.串口基础

 2.串口发送

1)基本配置

 注意:实现串口通信功能需在keil中设置打开Use Micro LIB,才能通过串口助手观察到串口信息

2)编辑代码

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */uint8_t msg[]="Hello World!\n";while (1){/* USER CODE END WHILE */HAL_UART_Transmit(&huart1,msg,sizeof(msg),HAL_MAX_DELAY);/* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

3)分析 ---关于重定向

huart1是一个串口句柄,定义在usart.c中

如果重定向printf或sprintf,只需要重定义fputc和fgetc()

#include<stdio.h>
int fputc(int ch,FILE *f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xffff);return ch;
}
int fgetc(FILE  *f){uint8_t ch;HAL_UART_Receive(&huart1,(uint8_t*)&ch,1,0xffff);return ch;
}

那么主函数可以如下实现::

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */printf("Hello World\t\n");HAL_Delay(500);/* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

**吐槽一下,显示“%”只能用下面的方法

printf("%%");
printf("%c",'%');

3.串口接收与发送

1)进行基本配置

除了上述配置外,加入中断

2)编辑代码

触发中断时系统会调用定义于stm32f1xx_it.c的void USART1_IRQHandler(void)

可以看到该中断服务函数又调用 HAL_UART_IRQHandler(&huart1),该函数定义于stm32f1xx_hal_uart.c中:

在传输模式下,该函数调用 UART_Receive_IT(huart);该函数同样定义于stm32f1xx_hal_uart.c中,该函数调用可重定义函数 HAL_UART_RxCpltCallback(huart);并重定向printf及sprintf

#include<stdio.h>
int fputc(int ch,FILE *f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xffff);return ch;
}
int fgetc(FILE  *f){uint8_t ch;HAL_UART_Receive(&huart1,(uint8_t*)&ch,1,0xffff);return ch;
}
#define RX_BUFFER_SIZE 50
uint8_t rxBuffer[RX_BUFFER_SIZE];//发送缓冲区
uint8_t rxData; //单字节接收数据
uint8_t txBuffer[RX_BUFFER_SIZE+10];//发送还出去
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if (huart->Instance == USART1) // 检查是否为 USART1{static uint16_t rxIndex = 0;// 保存接收到的字节到缓冲区if (rxIndex < RX_BUFFER_SIZE - 1)  //确保不会写入超过缓冲区边界的位置{rxBuffer[rxIndex++] = rxData;// 如果接收到换行符(表示消息结束)if (rxData == '\n'){rxBuffer[rxIndex] = '\0'; // 添加字符串结束符// 拼接前缀并发送数据sprintf((char *)txBuffer, "STM32 Received: %s", rxBuffer);printf("%s", txBuffer);rxIndex = 0; // 重置接收缓冲区索引}}// 继续接收下一个字节HAL_UART_Receive_IT(&huart1, &rxData, 1);}
}
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */HAL_UART_Receive_IT(&huart1, &rxData, 1);  //开启接收中断   参数为串口句柄、数据存储地址、接收字节数/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE *///uint8_t msg[]="Hello World!\t\n";printf("Hello World!\t\n");while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

 

3)分析

 HAL_UART_Receive_IT()很有趣?!不要忘了加!两处!

http://www.zhongyajixie.com/news/1361.html

相关文章:

  • 校园网站建设 必要性分析平台怎么推广
  • 品牌网站建设 细致磐石网络网络运营培训班多少钱
  • 如何做微信ppt模板下载网站seo推广费用需要多少
  • 商丘做网站的公司长沙有实力seo优化公司
  • 网站运营总监简单网页制作
  • 有哪些做国际贸易的网站论坛排名
  • 做美工一般用到的素材网站友情链接的网站有哪些
  • 建站资源共享百度提交入口网址
  • 提供网站制作公司哪家好免费网站建设制作
  • 做家居的网站深圳seo优化排名公司
  • 广州微信网站设计制作产品经理培训哪个机构好
  • wordpress分享卡片插件郴州seo网络优化
  • 网站编程培训学校有哪些百度知道在线问答
  • 用bootstrap做的网站百度关键词搜索排行
  • php动态网站开发 唐四薪 答案有实力的网站排名优化软件
  • 公司就我一个网站制作百度词条搜索排行
  • 到国外做赌博网站是怎么回事郑州网站推广电话
  • 做网站的需求是吗陕西整站关键词自然排名优化
  • 有用织梦做的大网站吗推荐友情链接
  • 建设一个功能简单的网站app推广平台网站
  • 课程网站建设方案网奇seo培训官网
  • 免备案服务器推荐网站seo的优化怎么做
  • 以下属于网站页面设计的原则有太原最新情况
  • 网站可以做库存吗黄金网站软件免费
  • wordpress添加分类目录关键词青岛百度seo排名
  • 广州网站制作哪家专业网站制作策划
  • dnf怎么做辅助网站郑州seo竞价
  • 网店推广方案范文天津seo培训机构
  • 上海工厂网站建设智能网站排名优化
  • 网站建设公司介绍ppt百度标记号码认证平台