智能车制作

标题: 这个串口我突然崩溃了,帮我解决,哥们以身相许 [打印本页]

作者: sjl123    时间: 2013-6-3 22:58
标题: 这个串口我突然崩溃了,帮我解决,哥们以身相许
我用的是龙丘的K60板子
1,我用UART0,D6,D7,9600,用野火的IAR测试程序,烧到板子里,打开串口猎人,发现一直返回000000000000

2,当我用UART5,E8,E9,9600,用野火的IAR测试程序,烧到板子里,打开串口猎人,[attach]46518[/attach][attach]46517[/attach]
这是为什么呢

作者: wen123    时间: 2013-6-4 00:39

作者: sjl123    时间: 2013-6-4 21:46
wen123 发表于 2013-6-4 00:39

别笑啊......笑的我心慌的,给点建设性的答案ba `~~~~~

作者: ivebeenready    时间: 2013-6-4 23:32
收码区勾成字符串型

作者: sjl123    时间: 2013-6-5 15:01
ivebeenready 发表于 2013-6-4 23:32
收码区勾成字符串型

刚才还试了一下,这次hex一直显示0000000000000,字符的话什么也不显示,就是可以看到收到信息数目一直在增加

作者: ivebeenready    时间: 2013-6-5 16:41
sjl123 发表于 2013-6-5 15:01
刚才还试了一下,这次hex一直显示0000000000000,字符的话什么也不显示,就是可以看到收到信息数目一直在 ...

你发数发的什么格式?

作者: sjl123    时间: 2013-6-5 18:20
ivebeenready 发表于 2013-6-5 16:41
你发数发的什么格式?

没发数就一直返回000000000,无数个0000000,我用龙丘的板子,测试龙丘的程序是没问题的,但是野火的程序就是这样,是不是底层问题?如何检查底层的问题?

作者: ivebeenready    时间: 2013-6-5 18:57
sjl123 发表于 2013-6-5 18:20
没发数就一直返回000000000,无数个0000000,我用龙丘的板子,测试龙丘的程序是没问题的,但是野火的程序 ...

没发数怎么可能有值?我也不清楚了

作者: sjl123    时间: 2013-6-5 18:59
ivebeenready 发表于 2013-6-5 18:57
没发数怎么可能有值?我也不清楚了

void  main(void)
{
    char ch;
    char str[20];
    gpio_init (PORTA, 28, GPO,0);//电机使能端,硬件接口A28
    //GPIO_SET(PORTA,28,1);

    uart_init(UART0,9600);                     //初始化串口1,波特率为19200 ,波特率太大,容易不稳定
    printf("串口查询接收实验\n\n");             //发送提示信息
    printf("\t\t——野火kinetis开发板\n\n");

    while(1)
    {  
        /**********    测试无限等待接收    **********/
        printf("请发送数据:\n");     
        ch=uart_getchar(UART0);                  //从串口1中等待接收数据
        printf("你发送的字符为:%c\n\n",ch);     //从串口1中发送出去

        time_delay_ms(1000);                     //延时1s

        /**********    测试有限等待接收一个字符    **********/
        printf("快点发送字符哦,不等你的哦:\n");
        if(uart_pendchar (UART0,&ch))  printf("哈哈,赶得及哦!你发送的字符为:%c\n\n",ch);     //从串口1中发送出去
        else                           printf("o(︶︿︶)o 唉,赶不及了!收不到你的数据。\n\n");     //从串口1中发送出去

        time_delay_ms(1000);   


        /**********    测试有限等待接收字符串    **********/
        printf("快点发送字符串哦,不等你的哦:\n");
        if(uart_pendstr(UART0,str))
            printf("哈哈,赶得及哦!你发送的字符为:%s\n\n",str);     //从串口1中发送出去
        else
            printf("o(︶︿︶)o 唉,赶不及了!收不到你的数据。\n\n");     //从串口1中发送出去*/
    }
}




程序是这个,打开串口之后软件就是各种00000000


作者: ivebeenready    时间: 2013-6-5 19:11
sjl123 发表于 2013-6-5 18:59
void  main(void)
{
    char ch;

波特率对不对?

作者: sjl123    时间: 2013-6-5 19:32
ivebeenready 发表于 2013-6-5 19:11
波特率对不对?

恩,波特率是对的,是不是野火的库在bootloader初始化的时候定义和龙丘的不太一样呢?如果是该怎么改呢

作者: sjl123    时间: 2013-6-5 22:55
ivebeenready 发表于 2013-6-5 19:11
波特率对不对?

找到原因了

core_clk_mhz = 50;  

晶振改成50就可以了,非常感谢你一直帮我解决这个问题

作者: 学习猫    时间: 2013-6-6 08:02
很好 继续努力 加油
作者: 465153179    时间: 2013-8-11 16:10
你还能收到数据,我怎么连数据也收不到啊




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2