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

共166条 15/17 |‹ 12 13 14 15 16 17 跳转至
助工
2012-05-07 16:19:46     打赏
141楼
好吧,从基础做起,努力学吧

助工
2012-05-10 08:33:49     打赏
142楼
串口收发数据成功,但存在部分乱码,整理中。。。。之后上图,上视频,尚待改进

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

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

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

【原因分析】
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     打赏
144楼
之前由于小小的问题纠结了好长时间,现在终于解决了,实现了又一功能——串口收发数据

先上几张图:







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

助工
2012-05-12 19:43:30     打赏
145楼
很好的帖子,看的我心痒痒了,如果不是当前手头的项目急,分不开心,真想参加!真心为没有早点发现这么好的活动感到可惜,当初是有时间没有概念,现在是有概念没有时间啊。。

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

主程序: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     打赏
147楼
呵呵,你可以参加新一轮的FPGA DIY活动啊,到时候还是会有很多人帮助你的,只要你肯用心,肯花时间。

院士
2012-05-12 20:02:40     打赏
148楼
调 出来就好 就好

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

工程师
2012-05-13 20:31:41     打赏
150楼
挺好啊

共166条 15/17 |‹ 12 13 14 15 16 17 跳转至

回复

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