这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » Albertgreenabc ARM DIY进程帖

共102条 10/11 |‹ 6 7 8 9 10 11 跳转至
助工
2012-05-10 08:33:49     打赏
91楼
串口收发数据成功,但存在部分乱码,整理中。。。。之后上图,上视频,尚待改进

最新版串口调试助手下载UartAssist.rar

助工
2012-05-12 18:37:38     打赏
92楼
【前言】 之前串口乱码的问题成功解决,串口收发数据正常。在网上查过许多关于串口乱码的原因,结果我遇到的问题有点出乎意料,迟迟没有解决。今天晚上抽出时间好好整理总结一下吧!有错误的地方还请大家指正!

【问题提出】串口通信出现乱码

【原因分析】
1.波特率或者RCC时钟没设置对(最常见)
2.USART配置有问题(本次遇到的)
3.串口调试软件或电脑端串口有问题
4.MAX232芯片坏掉或虚焊

【解决方法】
1.程序和调试助手的波特率设置相同,如都是9600,;RCC时钟貌似可以不配置,配置的话有现成代码,仔细研究一下,添上注释就行。

2.USART的配置出现错误的地方很多,只谈本次遇到的。
之前以为串口下载程序时要使用Even选项,所以错把USART也设置成Even,如下:
  USART_InitStructure.USART_Parity = USART_Parity_Even; 
应该为:
  USART_InitStructure.USART_Parity = USART_Parity_No; 
//无奇偶校验

3.换几个最新的串口调试助手试试,换个USB口(针对笔记本用户,使用USB转串口线),在设备管理器中查看COM口状态。

4.最好买进口MAX232芯片,质量可靠,国产水货不经用,不要图便宜;虚焊的话,用烙铁补焊一边就行,这个可能性比较小




以上是解决串口可以联机但数据乱码的问题,原因可能不止上述,要具体问题具体分析,最好能有明白的人给你指点一下。在此感谢hanshuyujifen2指正!

助工
2012-05-12 19:36:43     打赏
93楼
之前由于小小的问题纠结了好长时间,现在终于解决了,实现了又一功能——串口收发数据

先上几张图:







程序实现的功能:电脑端通过串口发数据给STM32,STM32接收完数据后,再发送给电脑端,通过串口调试助手观察,实现了STM32接收和发送数据的功能。另外,程序可采用两种方式工作,查询和中断方式。

助工
2012-05-12 19:49:07     打赏
94楼

主程序:main.c
#include <stm32f10x.h>
#include <stdio.h>
#include"USART.h"

extern int Flag; // 是否使用中断方式

int main()
{
 u8 temp;

 RCC_Configuration();  //RCC时钟初始化
 GPIO_Configuration();  //GPIO初始化
 USART_Configuration();  //USART初始化

 if(Flag)
       NVIC_Configuration();  //中断初始化

 while(1)
    {
     GPIO_ResetBits(GPIO_LED, DS1_PIN);  //控制LED亮灭,指示工作正常
  Delay(0x3FFFFF);
    GPIO_SetBits(GPIO_LED, DS1_PIN);
  Delay(0x3FFFFF);
  if(!Flag)
     {
         while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);    //等待接收完毕                                                                  
         temp = USART_ReceiveData(USART1);        //接受一个字节
         Uart1_PutChar(temp);           // 把接收到的字符发送出去
     }
    }
    return (0);

}

回复一下,希望多多支持!
USART.c
——回复可见内容——


助工
2012-05-12 19:50:45     打赏
95楼
呵呵,你可以参加新一轮的FPGA DIY活动啊,到时候还是会有很多人帮助你的,只要你肯用心,肯花时间。

助工
2012-05-13 15:10:47     打赏
96楼
之前都是在用软件延时,还没用过定时器延时呢,该看看定时器了。

助工
2012-05-18 20:31:59     打赏
97楼
谢谢支持!

助工
2012-05-18 20:40:26     打赏
98楼

好久没更新了,最近要填一个创新实验中期总结,到现在什么也没弄,也不知怎么总结

最近一直在改LCD的程序,怎么LCD就是不显示呢?!


助工
2012-05-18 23:04:01     打赏
99楼
啊哈哈,好吧,不确定到底是硬件,还是程序问题

助工
2012-05-19 22:33:37     打赏
100楼
试了几个测试HEX,都不行,我特意把引脚对了一遍

共102条 10/11 |‹ 6 7 8 9 10 11 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]