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

如何让网站上线三大门户网站是什么

如何让网站上线,三大门户网站是什么,作文网app下载,汕头百度seo电话【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 前面学习103和407的时候#xff0c;当时学过串口的收发。不过当时使用的主要是阻塞的方式。这一次#xff0c;我们看下应该怎么利用中断的形式进…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 前面学习103和407的时候当时学过串口的收发。不过当时使用的主要是阻塞的方式。这一次我们看下应该怎么利用中断的形式进行数据的收发。不仅如此我们还可以看下怎么把收到的数据放在一起当成一个完整的命令去处理。 1、基本串口信息定义 这边的串口主要还是利用a9、a10来实现数据的收发其中a9负责数据的发送a10负责数据的接收。除此之外数据是采用中断的形式进行处理的。 #define DEBUG_USART USART1 #define DEBUG_USART_CLK_ENABLE() __USART1_CLK_ENABLE();#define DEBUG_USART_RX_GPIO_PORT GPIOA #define DEBUG_USART_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define DEBUG_USART_RX_PIN GPIO_PIN_10 #define DEBUG_USART_RX_AF GPIO_AF7_USART1#define DEBUG_USART_TX_GPIO_PORT GPIOA #define DEBUG_USART_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define DEBUG_USART_TX_PIN GPIO_PIN_9 #define DEBUG_USART_TX_AF GPIO_AF7_USART1#define DEBUG_USART_IRQHandler USART1_IRQHandler #define DEBUG_USART_IRQ USART1_IRQn 2、串口的初始化 串口的初始化这边基本上就是八股文基本上按照套路下就可以了。一般就是配置时钟、配置gpio、配置uart、配置中断。对于我们来说最重要的baudrate也就是波特率就是在这里配置的。 void DEBUG_USART_Config(void) {GPIO_InitTypeDef GPIO_InitStruct;RCC_PeriphCLKInitTypeDef RCC_PeriphClkInit;DEBUG_USART_RX_GPIO_CLK_ENABLE();DEBUG_USART_TX_GPIO_CLK_ENABLE();RCC_PeriphClkInit.PeriphClockSelection RCC_PERIPHCLK_USART1;RCC_PeriphClkInit.Usart16ClockSelection RCC_USART16CLKSOURCE_D2PCLK2;HAL_RCCEx_PeriphCLKConfig(RCC_PeriphClkInit);DEBUG_USART_CLK_ENABLE();GPIO_InitStruct.Pin DEBUG_USART_TX_PIN;GPIO_InitStruct.Mode GPIO_MODE_AF_PP;GPIO_InitStruct.Pull GPIO_PULLUP;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.Alternate DEBUG_USART_TX_AF;HAL_GPIO_Init(DEBUG_USART_TX_GPIO_PORT, GPIO_InitStruct);GPIO_InitStruct.Pin DEBUG_USART_RX_PIN;GPIO_InitStruct.Alternate DEBUG_USART_RX_AF;HAL_GPIO_Init(DEBUG_USART_RX_GPIO_PORT, GPIO_InitStruct); UartHandle.Instance DEBUG_USART;UartHandle.Init.BaudRate 115200;UartHandle.Init.WordLength UART_WORDLENGTH_8B;UartHandle.Init.StopBits UART_STOPBITS_1;UartHandle.Init.Parity UART_PARITY_NONE;UartHandle.Init.Mode UART_MODE_TX_RX;UartHandle.Init.HwFlowCtl UART_HWCONTROL_NONE;UartHandle.Init.OverSampling UART_OVERSAMPLING_16;UartHandle.Init.OneBitSampling UART_ONEBIT_SAMPLING_DISABLED;UartHandle.AdvancedInit.AdvFeatureInit UART_ADVFEATURE_NO_INIT;HAL_UART_Init(UartHandle);HAL_NVIC_SetPriority(DEBUG_USART_IRQ, 0, 0);HAL_NVIC_EnableIRQ(DEBUG_USART_IRQ);__HAL_UART_ENABLE_IT(UartHandle,UART_IT_RXNE); } 3、函数重定向 对于喜欢用getchar、printf进行数据收发的同学一般还需要实现一下fputc、fgetc这两个函数。实现了这两个函数后续就可以使用getchar和printf了。 void Usart_SendString(uint8_t *str) {unsigned int k0;do {HAL_UART_Transmit( UartHandle,(uint8_t *)(str k) ,1,1000);k;} while(*(str k)!\0);}int fputc(int ch, FILE *f) {HAL_UART_Transmit(UartHandle, (uint8_t *)ch, 1, 1000); return (ch); }int fgetc(FILE *f) { int ch;HAL_UART_Receive(UartHandle, (uint8_t *)ch, 1, 1000); return (ch); } 4、中断处理 配置好了uart属性部分下面就是中断处理。这里中断是一个数据、一个数据进行接收的实际处理的时候一般是进入中断之后循环接收数据直到没有新的数据收到为止。 extern uint8_t Rxflag; extern uint8_t ucTemp;void DEBUG_USART_IRQHandler(void) {if(__HAL_UART_GET_IT( UartHandle, UART_IT_RXNE ) ! RESET){ Rxflag1; HAL_UART_Receive(UartHandle, (uint8_t *)ucTemp, 1, 1000); }HAL_UART_IRQHandler(UartHandle); } 代码中Rxflag是标志位ucTemp代表实际接收到的数据。 5、接收数据实际处理 单个接收到的数据一般是没有办法直接处理的通常都是收集到一块来处理。处理结束的标志一般就是回车换行符或者是某个特殊的标志也可以的。 while (1){if(Rxflag){if (usRxCount sizeof(ucaRxBuf)){ucaRxBuf[usRxCount] ucTemp;}else{usRxCount 0;}if (ucTemp 0x0A) { HAL_UART_Transmit( UartHandle, (uint8_t *)ucaRxBuf,usRxCount,1000 );usRxCount 0;}Rxflag0;__HAL_UART_ENABLE_IT(UartHandle,UART_IT_RXNE); }} 这边做的比较简单整个while1部分是放在main函数里面的。如果Rxflag为1那么把接收到的数据放到ucaRxBuf里面。接着检查数据是不是0x0a也就是换行如果是就把数据发送回去。最后把Rxflag重新置0打开串口接收中断准备新的数据进来。 大家如果做的复杂一点数据上面可以用queue的形式来处理函数也可以抽象出来实现部分做成parse command的形式这样处理起来就会简单的多。另外数据接收部分要尽快打开中断。 6、测试和验证 测试就比较简单了直接把代码编译、下载后利用ATK-XCOM上位机打开串口输入123、abc这样的内容看看有没有回显就知道代码对不对了。
http://www.pierceye.com/news/994764/

相关文章:

  • 做网站js框架施工企业三金压降指的是哪三金
  • 现在建设一个网站需要什么技术网页设计素材推荐
  • 大寺网站建设公司虚拟机可以做多个网站
  • 网站更新文章承德信息网
  • 做平面图片的网站网络钟点工
  • 网站的功能板块古镇中小企业网站建设
  • cms网站访问人数wordpress 修改网址
  • 万州网站推广1688拿货网
  • 西部数码做网站企业建设官方网站的目的
  • 做什么网站小程序网站开发怎么样
  • 西安建设网站电话号码上海公司查询官网
  • 空间除了可以做网站还能干什么北京王府井在哪个区
  • 网站的下载二维码怎么做网站地图 模板
  • 网站建设必要性阳江房产网0662
  • 南阳网站推广优化公司哪家好企业网站免费
  • jsp与asp做的网站网页微信登录不了
  • 网站开发登录要做哪些验证wordpress如何修改电子邮箱
  • 网站空间租用合同wordpress更改主题名称
  • 宁波网站推广找哪家wordpress 搜索标签
  • 购物网站建设特色沈阳公司网站制作
  • seo网站编辑是做什么的微博seo排名优化
  • 南通网站建设方案托管关键词优化排名首页
  • 哈尔滨全员核酸检测福建整站优化
  • 电子商务网站建设汉狮辽宁移动网站
  • 厂西建设厅网站网站流量依赖率
  • 手机能看的网站企业网站开发市场
  • 企业建设网站的过程世界各大网站搜索引擎提交入口
  • 网站建设云南做静态网站成本
  • 超低价的锦州网站建设网站开发有哪些软件有哪些
  • 中英文网站后台photoshop做网站