各位大神,我现在学到mini 开发板的串口部分,我自己写了一个串口接收数据并通过TFT显示出来的程序,遇到了一些问题?

2019-08-13 21:27发布

我的串口接收程序通过串口助手XCOM验证可以运行(问题是本来发送一次,运行起来却发送两次),但是用matlab上位机发送数据给STM32时,单片机就会自动复位,没法传输成功,想请教各位大神问题出在什么地方?
11111.jpg 3333.jpg 2222.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
dmfy
1楼-- · 2019-08-14 01:26
楼主stm32串口程序时是怎么弄的啊?我也在弄这个。
月光独灵
2楼-- · 2019-08-14 05:51
dmfy 发表于 2017-5-14 13:04
楼主stm32串口程序时是怎么弄的啊?我也在弄这个。

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "LCD.h"
#include "led.h"
u8 jieshou;
u8 t,len;
int main()
{
        JTAG_Set(JTAG_SWD_DISABLE);
  Stm32_Clock_Init(9);   //ê±Öó3õê¼»ˉ
        delay_init(72);        //Ñóê±3õê¼»ˉ
        uart_init(72,460800);    //′®¿ú3õê¼»ˉ
        io_init();
        lcd_init();
        led_init();
        led1_off;
        LCD_Fill(0,0,240,320,BLUE);   //éèÖÃÇøóòìî3äÑÕé«
        while(1)
        {
                //LCD_ShowString(30,40,200,24,24,YELLOW,"MISSION SUCCESS");       
    printf("%d ",1);
                led0_off;
                while(!(USART_RX_STA&0x8000));
                        len = USART_RX_STA&0x3fff;
                        jieshou=USART_RX_BUF[0];
                        jieshou=jieshou/16*10+jieshou%16;
                        USART_RX_STA =0;
                  
                printf("í¨1y′®¿ú′«1yà′μÄêy¾YêÇ£o%d ",jieshou);
                LCD_ShowxNum(100,100,jieshou,4,24,RED,1);
                led0_on;
                delay_ms(1000);
        }
}
月光独灵
3楼-- · 2019-08-14 06:12
月光独灵 发表于 2017-5-16 16:39
#include "sys.h"
#include "delay.h"
#include "usart.h"

之前看原子有人发帖说过,由于mini stm32的硬件电路设计,导致从上位机给单片机发串口的时候会出现单片机复位的问题,我现在找不到那个帖子了,也不知道怎么去解决这个问题
dmfy
4楼-- · 2019-08-14 10:58
 精彩回答 2  元偷偷看……
月光独灵
5楼-- · 2019-08-14 11:28
dmfy 发表于 2017-5-17 08:16
谢谢,只不过我已经解决了这个问题,我把原子哥串口中断改了,自己写了一个。

你怎么改的中断,想解决什么问题,能给我看看吗
闪电之舞
6楼-- · 2019-08-14 16:46
dmfy 发表于 2017-5-14 13:04
楼主stm32串口程序时是怎么弄的啊?我也在弄这个。

http://www.openedv.com/forum.php ... id=87071&extra=
之前自己写的一个可以试试

一周热门 更多>