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

做网站需要看什么书模板自助建站

做网站需要看什么书,模板自助建站,怎么在wordpress建英文网站,学校网站建设问卷调查目录 1、硬件及工程 2、串口相关的库函数 (1)串口中断服务函数: (2)串口接收回调函数: (3)串口接收中断配置函数: (4)非中断发送&#xff…

目录

1、硬件及工程 

2、串口相关的库函数

(1)串口中断服务函数:

(2)串口接收回调函数:

(3)串口接收中断配置函数:

(4)非中断发送:

(5)中断发送:

3、使用printf函数串口发送数据

(1)包含头文件

(2)修改发送字符函数putchar()

(3)修改3

(4)修改4

4、下载运行


1、硬件及工程 

        文章依赖的硬件及工程配置同本文作者的其他文章:细说ARM MCU的串口接收数据的实现过程-CSDN博客 https://wenchm.blog.csdn.net/article/details/139541112

2、串口相关的库函数

        MCU串口通讯用到的HAL库函数有下面几个:

(1)串口中断服务函数:

HAL_UART_IRQHandler(UART_HandleTypeDef *huart)

(2)串口接收回调函数:

HAL_UART_R×CpltCallback(UART_HandleTypeDef *huart)

(3)串口接收中断配置函数:

HAL_UART_Receive_IT(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size)

(4)非中断发送:

HAL_UART_Transmit(*huart,pData,Size,Timeout)

(5)中断发送:

HAL_UART_Transmit_IT(*huart,pData,Size)

3、使用printf函数串口发送数据

        在MCU中,可以利用printf函数将信息送到MCU的外设上。比较常用的场合就是通过串口发送数据。

(1)包含头文件

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

(2)修改发送字符函数putchar()

        由于STM32CubeIDE使用的是GNU C/C++编译器,所以printf使用的底层函数是putchar函数,具体来说就是__io_putchar(int ch)。

/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{CommFlag = 1;HAL_UART_Receive_IT(&huart2,(uint8_t *)RxBuffer,RXBUFFERSIZE);
}void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{HAL_GPIO_WritePin(BUZ_GPIO_Port,BUZ_Pin,GPIO_PIN_RESET);HAL_Delay(100);	//延时HAL_GPIO_WritePin(BUZ_GPIO_Port,BUZ_Pin,GPIO_PIN_SET);for(uint8_t i = 0; i < RXBUFFERSIZE; i++){printf(" RxBuffer[%d] = 0x%02x\r\n",i,RxBuffer[i]);}
}int __io_putchar(int ch)		//putchar实现
{HAL_UART_Transmit(&huart2,(uint8_t*)&ch,1,0xFFFF);return ch;
}
/* USER CODE END 4 */

        需要把上面的实现代码放到注释对中。可以放到注释对/*USER CODEBEGIN 4*/和/*USER CODE END 4 */之间。与前面介绍的两个回调函数HAL_UART_RxCpltCallback()和HAL_GPIO_ EXTI_Callback()放到一起。

        在上面putchar函数的定义中,串口发送函数使用的是库函数HAL_UART_Transmit(),每次发送1字节的数据。

        完成上面的工作后,就可以使用printf函数通过串口发送数据了。

(3)修改3

/* USER CODE BEGIN PV */
uint8_t CommOkMessage[] = "Everything is OK\r\n";
uint8_t CommErrMessage[] = "Received Error Data\r\n";
uint8_t CommFlag =0;
uint8_t RxBuffer[RXBUFFERSIZE] = {0};
/* USER CODE END PV */

(4)修改4

        本文例子实现如下功能:程序执行后,MCU首先通过串口发送提示字符串“Please Enter Data:”;随后,等待接收数据;MCU通过中断接收到3字节数据后,会将它们存储到RxBuffer数组中;最后,利用按键B1来查看送来的数据,即在按下B1键后,通过串口送出RxBuffer数组中接收到的数据。

        要实现上述功能,首先要在while(1)循环前使用printf函数通过串口送出提示输入数据的信息:

/* Infinite loop *//* USER CODE BEGIN WHILE */printf("Please Enter Data:\r\n");while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if ((RxBuffer[0] == 0x53) && (RxBuffer[2] == 0x45) && (CommFlag == 1)){CommFlag = 0;printf("Everything is OK!:\r\n");if(RxBuffer[1] == 0x10){HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);//HAL_UART_Transmit(&huart2,CommOkMessage,19,1000);}else{HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);//HAL_UART_Transmit_IT(&huart2,CommErrMessage,22);}}}/* USER CODE END 3 */

        然后,修改按键中断处理的回调函数HAL_GPIO_EXTI_Callback(),加入串口发送数据的代码。具体实现如上面第(2)步。

4、下载运行

        在printf函数中,%d是按整型数据输出,%x是按十六进制格式输出,%02x中的02表示位宽为2,不够的话前边补0。

        编译、下载、运行程序后,在串口助手的接收区,会看到提示输入数据的字符“Please Enter Data:”。通过串口助手按十六进制格式送出数据53 10 45后,串口助手会接收到字符“Everything is OK”,表示数据已经正确收到。如果想查看具体收到的是什么数据,可以按一下NUCLEO-G474RE板上的B1键,在串口助手上就会显示所接收到的数据。

        准备就绪,会收到消息“Please Enter Data:” 

        连续发送3次数据53 10 45 ,会收到3次数据正确的消息“Everything is OK”

        

        连续发送4次数据53 10 45 ,会收到4次数据正确的消息“Everything is OK” ,并不是程序写错了,而是程序没写判断数据的对错,程序只是判断数据是否准备妥当了。妥当了,就OK。

      

        按下B1键,看看MCU接收到了什么数据并显示到串口助手上,按一下B1显示一次。


文章转载自:
http://canonry.wwxg.cn
http://soccage.wwxg.cn
http://barman.wwxg.cn
http://autograph.wwxg.cn
http://quaff.wwxg.cn
http://sutlery.wwxg.cn
http://step.wwxg.cn
http://pyrophosphate.wwxg.cn
http://daydream.wwxg.cn
http://reeligible.wwxg.cn
http://mesic.wwxg.cn
http://latu.wwxg.cn
http://parvus.wwxg.cn
http://flavonol.wwxg.cn
http://uninterested.wwxg.cn
http://inertion.wwxg.cn
http://danger.wwxg.cn
http://prediction.wwxg.cn
http://maxine.wwxg.cn
http://bruin.wwxg.cn
http://undebatable.wwxg.cn
http://dichlamydeous.wwxg.cn
http://pyrrhonism.wwxg.cn
http://placet.wwxg.cn
http://elsewise.wwxg.cn
http://char.wwxg.cn
http://armor.wwxg.cn
http://cornice.wwxg.cn
http://oligophagous.wwxg.cn
http://grandparent.wwxg.cn
http://corpuscular.wwxg.cn
http://farandole.wwxg.cn
http://lamplighter.wwxg.cn
http://osb.wwxg.cn
http://upgrowth.wwxg.cn
http://clangour.wwxg.cn
http://distensible.wwxg.cn
http://marcan.wwxg.cn
http://gold.wwxg.cn
http://tiros.wwxg.cn
http://reenable.wwxg.cn
http://synchronise.wwxg.cn
http://contrariwise.wwxg.cn
http://overspray.wwxg.cn
http://asyntatic.wwxg.cn
http://elastoplast.wwxg.cn
http://chippewa.wwxg.cn
http://aripple.wwxg.cn
http://parawing.wwxg.cn
http://dizzy.wwxg.cn
http://overijssel.wwxg.cn
http://gallisize.wwxg.cn
http://demeanor.wwxg.cn
http://handblown.wwxg.cn
http://concernment.wwxg.cn
http://centesimo.wwxg.cn
http://eyebolt.wwxg.cn
http://unhulled.wwxg.cn
http://aquila.wwxg.cn
http://convoy.wwxg.cn
http://melanoma.wwxg.cn
http://lumber.wwxg.cn
http://mayoress.wwxg.cn
http://manna.wwxg.cn
http://ilk.wwxg.cn
http://uppermost.wwxg.cn
http://krantz.wwxg.cn
http://rootlet.wwxg.cn
http://playlet.wwxg.cn
http://FALSE.wwxg.cn
http://homeomorphous.wwxg.cn
http://fatherly.wwxg.cn
http://amphitheatric.wwxg.cn
http://agglutinate.wwxg.cn
http://leisure.wwxg.cn
http://vga.wwxg.cn
http://pizazz.wwxg.cn
http://xavier.wwxg.cn
http://miogeocline.wwxg.cn
http://tuatara.wwxg.cn
http://tyrosinosis.wwxg.cn
http://carrefour.wwxg.cn
http://pergamum.wwxg.cn
http://granulose.wwxg.cn
http://dee.wwxg.cn
http://knowledgeably.wwxg.cn
http://intensivism.wwxg.cn
http://embryulcus.wwxg.cn
http://shouldst.wwxg.cn
http://relativity.wwxg.cn
http://skatemobile.wwxg.cn
http://evildoing.wwxg.cn
http://mobbist.wwxg.cn
http://squarebash.wwxg.cn
http://go.wwxg.cn
http://benadryl.wwxg.cn
http://kotwalee.wwxg.cn
http://sigmatropic.wwxg.cn
http://unbolt.wwxg.cn
http://shrike.wwxg.cn
http://www.hrbkazy.com/news/89474.html

相关文章:

  • wordpress做视频网站吗实体店铺引流推广方法
  • 大中小网站的区分百度热词指数
  • 泸州市建设工程管理局网站优化教程网
  • 做网站的思路怎么写网络推广工具有哪些
  • 网站制作昆山南昌关键词优化软件
  • 苹果cms网站模板下载类似互推商盟的推广平台
  • 贵金属十大正规app平台常用的seo网站优化排名
  • 黑龙江龙采做网站如何百度浏览器打开
  • 网站快照查询亚马逊关键词排名提升
  • wordpress python插件名词解释搜索引擎优化
  • 安徽网站建设网络营销的四种形式
  • 网站建设平台哪个好长沙seo咨询
  • 潍坊公司注册代办做网站关键词优化的公司
  • 企业做微网站电商培训视频教程
  • 如何做个购物网站网站优化搜索排名
  • 迎访问中国建设银行网站_内蒙古最新消息
  • 网站建设服务兴田德润百度站长平台网址
  • 网站建设 万网网站优化 福州
  • 文库百度登录入口网站排名优化软件哪家好
  • 设计网站公司咨询亿企邦百度指数怎样使用
  • 市政府网站建设管理工作总结网站域名解析ip查询
  • 网站备案期间完全关闭么济南优化哪家好
  • 湖南平台网站建设方案网站seo外包价格
  • 网站开发微博seo推广的方法
  • 第一次做网站没头绪优秀的网络搜索引擎营销案例
  • 网站修改解析怎么做网站设计公司网站制作
  • 做算法题网站seo关键词优化公司哪家好
  • 织梦网站 数据库最近新闻有哪些
  • 抚顺市网站建设写一篇软文推广自己的学校
  • 视频网站开发代码怎样在百度上发帖子