历史上的今天

今天是:2024年09月11日(星期三)

正在发生

2020年09月11日 | 关于stm32 usb虚拟串口 程序问题的讨论

发布者:春林初盛 来源: eefocus关键字:stm32  usb虚拟串口  程序问题 手机看文章 扫描二维码
随时随地手机看文章

主要问题是  串口有时收到乱码 有时收到丢包数据:


关于 乱码 我们其实很容易想到 奇偶校验的问题,而我们平常都是默认为没有奇偶校验。


请看程序:

         * USART1 default configuration */

  /* USART1 configured as follow:

        - BaudRate = 9600 baud  

        - Word Length = 8 Bits

        - One Stop Bit

        - Parity Odd

        - Hardware flow control desabled

        - Receive and transmit enabled

        - USART Clock disabled

        - USART CPOL: Clock is active low

        - USART CPHA: Data is captured on the second edge

        - USART LastBit: The clock pulse of the last data bit is not output to

                         the SCLK pin

  */

  USART_InitStructure.USART_BaudRate = 9600;

  USART_InitStructure.USART_WordLength = USART_WordLength_8b;

  USART_InitStructure.USART_StopBits = USART_StopBits_1;

  USART_InitStructure.USART_Parity = USART_Parity_Odd;

  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  USART_InitStructure.USART_Clock = USART_Clock_Disable;

  USART_InitStructure.USART_CPOL = USART_CPOL_Low;

  USART_InitStructure.USART_CPHA = USART_CPHA_2Edge;

  USART_InitStructure.USART_LastBit = USART_LastBit_Disable;


只要改成odd  或者程序里作修改即可


问题2 :既然是虚拟串口,那么利用pc串口软件 两边应该可以正常通信,但是源程序出现的情况是。

真--虚  ok

虚--真  则严重丢数据


看了一下程序  原来捣鬼的是这里:

      void USB_To_USART_Send_Data(u8* data_buffer, u8 Nb_bytes)

{

  u32 i;


  for (i = 0; i < Nb_bytes; i++)

  {

    USART_SendData(USART1, *(data_buffer + i));

       }

}

串口发送数据后 没有等待串口发送完成


改为下边即可

   void USB_To_USART_Send_Data(u8* data_buffer, u8 Nb_bytes)

{

  u32 i;


  for (i = 0; i < Nb_bytes; i++)

  {

    USART_SendData(USART1, *(data_buffer + i));

      while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);

   

  }

}


关键字:stm32  usb虚拟串口  程序问题 引用地址:关于stm32 usb虚拟串口 程序问题的讨论

上一篇:STM32的CORTEX-M3核与ARM7有何区别?哪个性能更强?
下一篇:STM32F105 PA9/OTG_FS_VBUS Issues

推荐阅读

  9月初,苹果的自动驾驶汽车在美国加州的公路上进行路测时发生了它的首次碰撞事故。不同于年初Uber无人车造成的重大车祸,这次所幸没人受伤,但这也再次引起了人们对自动驾驶汽车安全性的关注。  其实,自动驾驶汽车在真正实现落地之前,就已经过多项安全考验,路测就是其中一环。同时,在实际测试过程中,由于路测效率较慢,目前很多车企都倾向于选...
摘要主要介绍了嵌入式编程中几个常用,但软件编程中用得不是很多的C语言知识。包括位操作、条件编译、结构体和结构体指针、typedef声明类型、以及extern变量声明、static关键字等内容。本文并没有将相关C语言知识点介绍地很详细,毕竟这么多知识点要想掌握绝对不是看几篇文档就能掌握的。因此博主建议,如果上述的C语言知识掌握得还不是很好的话,找一本C...
基因合成专家Evonetix和ADI将共同致力于Evonetix基于MEMS的集成电路的改进和商业化,并加速evonnetix的首个DNA桌面级仪器产品的开发。具体来说,Evonetix的技术平台利用微机电系统(MEMS)处理的硅芯片,该芯片以高度并行的方式在数千个独立控制的反应位点或芯片表面的“像素”处控制DNA的合成,在合成之后,合成的DNA链在硅片上组装成双链。这一过程发现...
智东西(公众号:zhidxcom)作者 | 健恩编辑 | 云鹏智东西9月11日报道,昨天,世界机器人大会再次在北京亦庄拉开帷幕,智东西记者一大早便跨越整个北京城来到这里打探这场大会的最新消息。世界机器人大会自2015年开始举办,迄今为止已成功举办过5次。它不仅是国内一年一度规模最大的机器人产业顶级展会,也是国内机器人产业风向的集中展示。智东西了解...

史海拾趣

问答坊 | AI 解惑

数码相机的可编程DSP平台

数码相机的可编程DSP平台…

查看全部问答∨

谁能制作个7段LED的元件封装阿,即用

谁能制作个7段LED的元件封装阿,即用? 最好是四位一体了的那种~~~~…

查看全部问答∨

请教关于msp430 的TA问题

请问,430F149的P2.4口 TA 有定时和比较功能,好像是没有捕获功能,能作为外部脉冲的计数器吗? 找了好久,没找到方法?…

查看全部问答∨

谁有GSM模块相关的术语表呀???(结贴,来人接分)

很多术语都不懂,比如说PDU 、MO、MT、非请求结果码。。。等等 如果有请发一份给我吧   674868212@qq.com…

查看全部问答∨

求助:Hook函数中如何返回信息?

DriverEntry() { ... } NTSTATUS DrvDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) {  ...      switch()      ...       HookOn(ZwCreateFile,NewZwCre ...…

查看全部问答∨

protel99中制作元器件时怎么画虚线

大家好: 我想在protel99中制作元器件画虚线(继电器上有虚线)但是我不会画,该怎么办?我在元件库里找的继电器不是我想要的那种,所以很郁闷,谢谢了…

查看全部问答∨

====招聘硬件工程师===

硬件工程师 职位要求: 1、电子工程专业背景。 2、能熟练使用PROTEL99、CADENCE等工具设计线路图、线路板,有能力通过合理布线消除各电路之间的各种干扰(如地线噪音干扰、模拟与数字电路相互干扰、高频电磁干扰等) 3、要求有足够模拟及数字电 ...…

查看全部问答∨

用EVC4 打开模拟器时,出现不能连接!

安装了EVC4 及SP4 Microsoft Pocket PC 2003 SDK.msi Windows Mobile 2003 Second Edition Emulator Images for Pocket PC - CHS.msi 在测试时出现 please make sure the following files are on the device \\windows\\tcpipc.dll \\windows ...…

查看全部问答∨

100分求救 evc 下如何打开GPS设备的电源?

机器自带有GPS硬件,不过系统内有个GPS电源管理,默认情况下GPS的电源是关闭的 我想在程序中打开GPS的电源,不知道如何实现? 注:机器是Navman的PIN 570…

查看全部问答∨

Wince standard sdk 模拟器上好像什么都没有?

没有写字板,没有txt编辑器,如果我想测试文字相关的程序,各位可否给我提供讲一下思路,谢谢!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved