找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2045|回复: 3
收起左侧

stm32串口数据发送问题

[复制链接]
ID:258798 发表于 2018-7-22 10:33 | 显示全部楼层 |阅读模式
再利用串口向上位机发送数据时,会自己加一个问号,怎么解决?求助

1

1


下面是程序
  1. void USART1_Init(void)
  2. {
  3.                 USART_InitTypeDef USART_InitStructure;        
  4.                 GPIO_InitTypeDef GPIO_InitStructure;
  5.         
  6.                 USART_InitStructure.USART_BaudRate = 115200;
  7.                 USART_InitStructure.USART_WordLength = USART_WordLength_8b;  
  8.                 USART_InitStructure.USART_StopBits = USART_StopBits_1;  
  9.                 USART_InitStructure.USART_Parity = USART_Parity_No;
  10.                 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  11.                 USART_InitStructure.USART_Mode =  USART_Mode_Tx;
  12.                
  13.                
  14.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
  15.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);
  16.                
  17.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  18.                 GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_9;
  19.                 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  20.                 GPIO_Init(GPIOA, &GPIO_InitStructure);
  21.                
  22.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  23.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  24.                 GPIO_Init(GPIOA, &GPIO_InitStructure);
  25.                
  26.                 USART_Init(USART1,&USART_InitStructure);
  27.                 USART_Cmd(USART1, ENABLE);
  28.                
  29.                 USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
  30. }
  31. void USART_SendString(USART_TypeDef* USARTx,char *string)
  32. {
  33.         uint8_t i=0;
  34.         while(string[i]!='\0')
  35.         {
  36.                 USART_SendData(USARTx,string[i]);
  37.                 while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET){}
  38.                 i++;
  39.         }
  40. }



  41. int main(void)
  42. {
  43.      char a[4]={'a',' ','b',' '}
  44.      USART1_Init();
  45.      while(1)
  46.         {
  47.           delay_ms(300);        
  48.           USART_SendString(USART1,a);
  49.         }
  50. }

复制代码


回复

使用道具 举报

ID:364341 发表于 2018-7-22 15:41 | 显示全部楼层
十六进制显示试试
回复

使用道具 举报

ID:258798 发表于 2018-7-22 16:13 | 显示全部楼层

改用十六进制会显示3F,刚好是问号的ASCII码
回复

使用道具 举报

ID:377442 发表于 2018-7-22 17:07 | 显示全部楼层
十六进制显示和十六进制发送两个checkbox选上,出现√
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表