打印
[MM32软件]

【MM32 eMiniBoard测评报告】+ 串口的问题

[复制链接]
4856|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我搞了一个例程,串口的

测试时,发现可以发送,但不能接受。
代码:
#include "sys.h"
#include "uart_nvic.h"
#include "led.h"

int main(void)
{
    u8 t;
    u8 len;       
    u16 times=0;

    delay_init();
    LED_Init();
    uart_nvic_init(115200);         //´®¿Ú³õʼ»¯Îª115200

    while(1)
    {
        if(UART_RX_STA&0x8000)
        {                                          
            len=UART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶È
            printf("\r\nÄú·¢Ë͵ÄÏûϢΪ:\r\n");
            for(t=0;t<len;t++)
            {
                while((UART1->CSR&UART_IT_TXIEN)==0);//µÈ´ý·¢ËͽáÊø
                UART1->TDR=UART_RX_BUF[t];   
            }
            printf("\r\n\r\n");//²åÈë»»ÐÐ
            UART_RX_STA=0;
        }else
        {
            times++;
            if(times%5000==0)
            {
                printf("\r\nMini Board ´®¿ÚʵÑé\r\n");
            }
            if(times%200==0)printf("ÇëÊäÈëÊý¾Ý,ÒԻسµ¼ü½áÊø\r\n");  
            if(times%30==0)LED1_TOGGLE();//ÉÁ˸LED,ÌáʾϵͳÕýÔÚÔËÐÐ.
            delay_ms(10);   
        }
    }         
}


已经回车了。
请高手看看,谢谢!

使用特权

评论回复
沙发
gaoyang9992006| | 2020-4-23 19:33 | 只看该作者
等我晚上有空试试。头疼,准备洗洗澡再开电脑。

使用特权

评论回复
板凳
Cjy_JDxy|  楼主 | 2020-4-23 20:20 | 只看该作者
gaoyang9992006 发表于 2020-4-23 19:33
等我晚上有空试试。头疼,准备洗洗澡再开电脑。

谢谢!

使用特权

评论回复
地板
wziyi| | 2020-4-23 21:20 | 只看该作者
我也遇到这种情况,后来在换一个串口软件就好了。我的电脑是 win10,片子是stm32f103c8。如果以前装过虚拟串口之内的软件,也会触发此类问题。

使用特权

评论回复
5
wziyi| | 2020-4-23 21:35 | 只看该作者
我看了源码,感觉没啥问题,手上有没有其他的电脑,在别的电脑上试一下。或者用别的 USB转串口 试一下。还有你怎么知道你发送成功了,上位机信号发出了,并不代表下位机就接受了啊。VCP 里面有很多坑,建议你先用 USB 转 TTL 工具,排除电脑,上位机软件,下位机硬件等环节的问题,之后在使用 VCP。

使用特权

评论回复
6
Cjy_JDxy|  楼主 | 2020-4-23 21:36 | 只看该作者
wziyi 发表于 2020-4-23 21:20
我也遇到这种情况,后来在换一个串口软件就好了。我的电脑是 win10,片子是stm32f103c8。如果以前装过虚拟 ...

谢谢!我试试。

使用特权

评论回复
7
Cjy_JDxy|  楼主 | 2020-4-23 21:38 | 只看该作者
wziyi 发表于 2020-4-23 21:35
我看了源码,感觉没啥问题,手上有没有其他的电脑,在别的电脑上试一下。或者用别的 USB转串口 试一下。还 ...

我说发送成功,是说单片机给电脑发送成功了,串口助手都显示出来了。
但是电脑给单片机发,单片机收不到。

使用特权

评论回复
8
gaoyang9992006| | 2020-4-24 11:13 | 只看该作者
官方例程有问题,昨晚我跑了一遍官方的例程,一点都没改的。结果其中一个可以接收到一半的数据,就是发送的字符串,前半段乱码,后面正常。接收电脑下发的数据,偶尔成功。

使用特权

评论回复
9
Cjy_JDxy|  楼主 | 2020-4-24 11:35 | 只看该作者
gaoyang9992006 发表于 2020-4-24 11:13
官方例程有问题,昨晚我跑了一遍官方的例程,一点都没改的。结果其中一个可以接收到一半的数据,就是发送的 ...

我一个都不成功,人品不行

使用特权

评论回复
10
fwloveu| | 2020-4-24 15:25 | 只看该作者
这个例子的串口初始化在什么地方?

使用特权

评论回复
11
Cjy_JDxy|  楼主 | 2020-4-24 17:19 | 只看该作者
fwloveu 发表于 2020-4-24 15:25
这个例子的串口初始化在什么地方?

uart_nvic_init(115200);         //´®¿Ú³õʼ»¯Îª115200

使用特权

评论回复
12
fwloveu| | 2020-5-1 18:11 | 只看该作者
gaoyang9992006 发表于 2020-4-23 19:33
等我晚上有空试试。头疼,准备洗洗澡再开电脑。

您用没用usb转串口线?

使用特权

评论回复
13
masterqqq| | 2020-5-1 20:17 | 只看该作者
接口的问题吧,有的接口不对应

使用特权

评论回复
14
gaoyang9992006| | 2020-5-5 20:07 | 只看该作者
fwloveu 发表于 2020-5-1 18:11
您用没用usb转串口线?

开发板不是自带这个USB转串口吗

使用特权

评论回复
15
fwloveu| | 2020-5-6 10:59 | 只看该作者
gaoyang9992006 发表于 2020-5-5 20:07
开发板不是自带这个USB转串口吗

是CN2接口吗,不会用啊,怎么用?

使用特权

评论回复
16
叶春勇| | 2020-5-10 14:05 | 只看该作者
Cjy_JDxy 发表于 2020-4-24 17:19
uart_nvic_init(115200);         //´®¿Ú³õʼ»¯Îª115200

我跟你一样,可以收到单片机发过来的。pc发送的单片机的数据,单片机是一个没收到。
后来用usb转ttl了。
那个mm32link 串口功能有问题?

使用特权

评论回复
17
Cjy_JDxy|  楼主 | 2020-5-11 08:12 | 只看该作者
叶春勇 发表于 2020-5-10 14:05
我跟你一样,可以收到单片机发过来的。pc发送的单片机的数据,单片机是一个没收到。
后来用usb转ttl了。
...

好像是

使用特权

评论回复
18
叶春勇| | 2020-5-11 08:31 | 只看该作者

你后来怎么解决的,还是用usb转ttl

使用特权

评论回复
19
Cjy_JDxy|  楼主 | 2020-5-11 09:59 | 只看该作者
叶春勇 发表于 2020-5-11 08:31
你后来怎么解决的,还是用usb转ttl

没解决,串口2可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝