智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3817|回复: 14
打印 上一主题 下一主题

[讨论] 串口FUCK浪费我一下午时间!

  [复制链接]

48

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2669
威望
1377
贡献
668
兑换币
240
注册时间
2012-3-31
在线时间
312 小时
跳转到指定楼层
1#
发表于 2013-3-6 18:52:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

竟然写两个串口5,我以为就一个呢,按PD口弄的不行,以前M3还有个重映射呢,还有K60上的pringf到底怎么做的,为什么我没有看到串口初始化,就可以用printf,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
619
威望
289
贡献
138
兑换币
184
注册时间
2012-12-13
在线时间
96 小时
2#
发表于 2013-3-6 18:59:56 | 只看该作者
如果是野火的库的话,串口的初始化实在 sysinit.c 的 void sysinit(void)有做过初始化。至于拉普兰德的话,应该也是差不多。
至于串口我现在一直没弄出来,我让单片机一直发送数据,然后用网上卖的 PL2303 的USB->串口线,怎么样连接单片机,上位机都收不到数据。
导致我现在一直用的是拉普兰德的 USB虚拟串口 的函数来调用 Printf 函数。
不知道你串口怎么调的,能说下不。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

1

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329

活跃会员奖章

威望
217
贡献
98
兑换币
5
注册时间
2013-2-25
在线时间
7 小时
毕业学校
齐鲁工业大学
3#
发表于 2013-3-6 19:14:29 | 只看该作者
回复 支持 反对

使用道具 举报

48

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2669
威望
1377
贡献
668
兑换币
240
注册时间
2012-3-31
在线时间
312 小时
4#
 楼主| 发表于 2013-3-6 19:38:52 | 只看该作者
yangkuanqaz8598 发表于 2013-3-6 18:59
如果是野火的库的话,串口的初始化实在 sysinit.c 的 void sysinit(void)有做过初始化。至于拉普兰德的话, ...

我也是用LPLD的板子,接一个USB转串口,
我不懂他给的例程为什么不用这初始化
uart_init (UART5_BASE_PTR, PLL_96, 115200);
回复 支持 反对

使用道具 举报

6

主题

782

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4804
威望
2424
贡献
1324
兑换币
1685
注册时间
2011-11-2
在线时间
528 小时
5#
发表于 2013-3-6 21:00:46 | 只看该作者
不好搞
回复 支持 反对

使用道具 举报

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
619
威望
289
贡献
138
兑换币
184
注册时间
2012-12-13
在线时间
96 小时
6#
发表于 2013-3-6 21:03:10 | 只看该作者
战怺竝! 发表于 2013-3-6 19:38
我也是用LPLD的板子,接一个USB转串口,
我不懂他给的例程为什么不用这初始化
uart_init (UART5_BASE_P ...

那你最后串口已经出来了啊,求解下我试了UART1 、UART5都出不来,我的USB->串口线又是好的,真不知道哪里出错了。
回复 支持 反对

使用道具 举报

48

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2669
威望
1377
贡献
668
兑换币
240
注册时间
2012-3-31
在线时间
312 小时
7#
 楼主| 发表于 2013-3-6 21:26:18 | 只看该作者
yangkuanqaz8598 发表于 2013-3-6 21:03
那你最后串口已经出来了啊,求解下我试了UART1 、UART5都出不来,我的USB->串口线又是好的,真不知道哪里 ...

不会啊,我用的LPLD 的库,
我捋一遍
    #define TERM_PORT           UART5_BASE_PTR
    #define TERMINAL_BAUD       115200
这几句是定义串口5

void sysinit (void)
{
        /*
         * 使能所有端口的时钟. 为了配置引脚复用则必须使能这里, 所以大多数代码需要配置这些.
         */
        SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK
                      | SIM_SCGC5_PORTB_MASK
                      | SIM_SCGC5_PORTC_MASK
                      | SIM_SCGC5_PORTD_MASK
                      | SIM_SCGC5_PORTE_MASK );
  /* 配置系统时钟 */
core_clk_mhz = LPLD_PLL_Setup(CORE_CLK_MHZ);
/*
         * 用pll_init函数的返回值来定义变量:core_clk_khz和periph_clk_khz(以kHz为单位)
  * 这些变量将在其他功能上
  */
core_clk_khz = core_clk_mhz * 1000;
   periph_clk_khz = core_clk_khz / (((SIM_CLKDIV1 & SIM_CLKDIV1_OUTDIV2_MASK) >> 24)+ 1);
   /*
         *出于仿真的目的, 使能追踪时钟和FlexBus时钟来
    */
trace_clk_init();
   fb_clk_init();
   /* 使能选中的 UART */
   if (TERM_PORT == UART3_BASE_PTR)
   {
                 /* 使能 PTC17 引脚的 UART3_TXD 功能  */
    PORTC_PCR17 = PORT_PCR_MUX(0x3); // 该引脚的 功能3 是 UART
    /* 使能 PTC16 引脚的 UART3_RXD 功能 */
    PORTC_PCR16 = PORT_PCR_MUX(0x3); // 该引脚的 功能3 是 UART
   }
   if (TERM_PORT == UART5_BASE_PTR)
   {
                 /* 使能 PTE8 引脚的 UART5_TXD 功能  */
    PORTE_PCR8 = PORT_PCR_MUX(0x3); // 该引脚的 功能3 是 UART
    /* 使能 PTE9 引脚的 UART5_RXD 功能  */
    PORTE_PCR9 = PORT_PCR_MUX(0x3); // 该引脚的 功能3 是 UART
   }
   /* UART0 and UART1 由 core clock 提供时钟源, 但是其他所有 UARTs 由
         * peripheral clock 提供时钟源. 所以要在这里决定用哪个时钟作为 uart_init 的参数.
         */
        if ((TERM_PORT == UART0_BASE_PTR) | (TERM_PORT == UART1_BASE_PTR))
           uart_init (TERM_PORT, core_clk_khz, TERMINAL_BAUD);
        else
      uart_init (TERM_PORT, periph_clk_khz, TERMINAL_BAUD);
        
#if(defined(DEBUG_PRINT))  
        // 打印系统频率
        printf("Core Clock:%dMHz!\r\n", core_clk_mhz);
        printf("Bus Clock:%dkHz!\r\n", periph_clk_khz);
#endif
}
这是LPLD写的一个系统配置函数,里边只配置了串口3和5的UART功能引脚,没配置串口1的,
回复 支持 反对

使用道具 举报

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
619
威望
289
贡献
138
兑换币
184
注册时间
2012-12-13
在线时间
96 小时
8#
发表于 2013-3-6 21:39:58 | 只看该作者
你的串口5能正常运行啊。
我是用野火的库就是,我是取消了初始化函数里面的串口,直接在主函数里面重新初始化的串口1
回复 支持 反对

使用道具 举报

48

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2669
威望
1377
贡献
668
兑换币
240
注册时间
2012-3-31
在线时间
312 小时
9#
 楼主| 发表于 2013-3-6 21:43:36 | 只看该作者
yangkuanqaz8598 发表于 2013-3-6 21:39
你的串口5能正常运行啊。
我是用野火的库就是,我是取消了初始化函数里面的串口,直接在主函数里面重新初始 ...

串口1和5的时钟不同的,我也是刚学,闹不太懂
回复 支持 反对

使用道具 举报

1

主题

2067

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5124

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
2752
贡献
898
兑换币
59
注册时间
2012-12-8
在线时间
737 小时
10#
发表于 2013-3-6 22:06:16 | 只看该作者
电路原理图要认真看啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 22:22 , Processed in 0.129297 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表