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

使用wordpress搭建网站wordpress如何设置404页面

使用wordpress搭建网站,wordpress如何设置404页面,天津自贸区建设局网站,页面设计需求需要做那些方面我的野火开发板上有CH340串口芯片,CH340的RXD和TXD与STM32的PA9、PA10已经连接。 定义GPIO管脚和设置串口参数 在STM32CubeIDE新建项目过程记录备忘(一) 创建一个基础的模板-CSDN博客里面,我已经将PA9和PA10配置为USART1的TX和RX…

我的野火开发板上有CH340串口芯片,CH340的RXD和TXD与STM32的PA9、PA10已经连接。

  • 定义GPIO管脚和设置串口参数

        在STM32CubeIDE新建项目过程记录备忘(一) 创建一个基础的模板-CSDN博客里面,我已经将PA9和PA10配置为USART1的TX和RX,并完成了串口参数的设置。

  • 设置中断

  • 编写代码

  • 生成代码

        黄齿轮生成代码。

        打开main.c,可以看到usart1的初始化函数,串口的参数全部在里面:

        以及,在stm32f1xx_it.c中的串口中断服务函数:

  • 引入必要的头文件

        在main.c中引入stdio.h和string.h

#include <stdio.h>   /*比如printf()等常用函数在这里*/
#include <string.h>  /*字符串处理*/
  • 设置缓冲区和完成标志

uint8_t rx_buffer[100]; // 接收缓冲区uint8_t rx_data; // 接收数据变量uint8_t tx_buffer[100]; // 发送缓冲区volatile uint8_t rx_complete = 0; // 接收完成标志

  •  启动接收中断

  • 用一条字符串测试一下发送 

  

sprintf((char*)tx_buffer, "STM32 USART Communication Demo");  //将需要发送的字符格式化并写入字符数组(缓冲区)
HAL_UART_Transmit_IT(&huart1, tx_buffer, strlen((char*)tx_buffer));  //发送字符

仿真软件接收到了发送的字符串:

        这里注意:波特率之前设置的115200,不能正常通信,改成19200后正常,这在工程中很常见,如果不能正常通信就降低波特率试试。

  • 测试一下接收

在main.c的发送代码后加一条接收的代码:

发送和接收的这段完整代码: 

 /* USER CODE BEGIN 2 */// 启动第一个接收中断HAL_UART_Receive_IT(&huart1, &rx_data, 1);//发送一条字符串sprintf((char*)tx_buffer, "STM32 USART Communication Demo");  //将需要发送的字符格式化并写入字符数组(缓冲区)HAL_UART_Transmit_IT(&huart1, tx_buffer, strlen((char*)tx_buffer));  //使用中断发送字符HAL_UART_Receive_IT(&huart1, rx_buffer, sizeof(rx_buffer));  //使用中断接收字符/* USER CODE END 2 */

接收函数的解释: 

        当接收完成后,会调用HAL_UART_RxCpltCallback()这个回调函数,函数的原型在stm32f1xx_hal_uart.c内,看得出它是个弱定义函数,需要重新定义后才能使用。

重新定义的回调函数一般放在文件stm32f1xx_it.c内:

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) //usart接收中断回调函数
{if(huart->Instance == USART1){HAL_UART_Transmit_IT(&huart1,rx_buffer, sizeof(rx_buffer));   //将接收到的内容原样发送出去HAL_UART_Receive_IT(&huart1, rx_buffer, sizeof(rx_buffer));  //使用中断接收字符}
}

        看得出,在HAL_UART_RxCpltCallback()这个回调函数内又运行了一次接收指令:HAL_UART_Receive_IT(&huart1, rx_buffer, sizeof(rx_buffer)),目的是开启新的接收任务。

总结一下本例接收的过程:

        接收函数HAL_UART_Receive_IT()-->当接收到的数据达到预设字节数,产生中断,调用中断服务函数HAL_UART_RxCpltCallback()-->在中断服务函数内执行特定操作,本例的操作是将接收到的内容又发送出去,当然也可以是任何其他,比如计算、存储、操作GPIO等-->在中断服务函数内开启下一次接收任务。

需要注意的是:要外部声明一下接收缓冲区,不然会报错。

extern uint8_t rx_buffer[100];  //usart1接收缓冲区

 运行结果:

        在串口仿真软件XCOM中不停点击“发送”,每次发送一个字符串“abcdefghij”,当字符总数够100个后,stn32将接收到的100个字符发送给XCOM。

        当然了,在工程中,接收到的每帧数据不一定总是确定长度的,使用本例的代码就不能满足所有的场景需求,这就是下一篇的任务:接收不定长数据。

http://www.dtcms.com/a/539360.html

相关文章:

  • 怎么做类似站酷的网站wordpress文章目录分页
  • 运营网站开发工作湖南建筑行业
  • 郑州网站建设方案服务wordpress适合下载收费的主题
  • 做网站的企业有哪些wordpress基础模板下载
  • 高明铝业网站建站网站设计源代码
  • asp.net mvc 做网站登录我的博客
  • 青岛网站建设企业建站厦门博客网站制作
  • 广州第一网站小型影视网站源码
  • 做网站的服务器还需要空间吗优秀平面广告设计赏析
  • 写简历的网站建筑有限公司
  • seo网站优化平台莞城网站建设
  • 承德企业网站建设公司2022年进口博览会上海
  • 如何建设一个公司网站来宾 网站建设
  • 长春建设平台网站的公司哪家好wordpress首页缩略图插件
  • 滨州网站seo服务城乡建设吧部网站
  • 广州网站制作信科建设怎么在手机上建网站
  • 北京工程质量建设协会网站wordpress自助申请友链
  • 网站建设中国十强网站开发公司上
  • 营销型网站服务公司天津行业网站建设
  • wordpress 获取自定义分类列表陕西seo顾问服务
  • 网站开发项目概述关键词怎么优化到百度首页
  • 常见的网站类型有网站建设都包含哪些内容
  • 怎么优化整站成功营销案例
  • 在原备案号下增加新网站制作企业网站的机构推荐
  • 做英文简历的网站郑州网站开发便宜
  • 家庭服务网站的营销策略六安城市网官网
  • 罗湖网站建设费用做的网站怎么放到网上
  • 网站建设需要什么东西wordpress下划线
  • 网站维护工程师薪酬免费网络密码
  • 网站推荐免费的南阳做网站公司电话