查看: 2247|回复: 0

[求助] 【疯狂的四驱车】实验七 UART3_ALT3以及问题

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-7-26 20:59:38 | 显示全部楼层 |阅读模式
    本帖最后由 zhjb1 于 2016-7-26 21:56 编辑

    从USB口模拟UART确实方便,但想自己读取制定设备的数据则有些不便,此次实验未解决原题目设想的从GPS读取数据的问题。看API文档,发现UART4没有对应的宏,否则需要自己编,先放弃。查手册,看到PTG10,11在ALT3模式下有UART3功能,组实验此。更改与UART设置有关的board.h中的
    //The UART to use for debug messages.
    #define BOARD_DEBUG_UART_TYPE DEBUG_CONSOLE_DEVICE_TYPE_UART
    #define BOARD_DEBUG_UART_BASEADDR (uint32_t) UART0
    #define BOARD_DEBUG_UART_CLKSRC SYS_CLK
    #define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetCoreSysClkFreq()
    #define BOARD_UART_IRQ UART0_RX_TX_IRQn
    #define BOARD_UART_IRQ_HANDLER UART0_RX_TX_IRQHandler

    3,4,6行中UART0改为UART3,其他不变。
    将void BOARD_InitPins()函数中的增加:
    //ALT3 for UART3 11_TX 10RX
    PORT_SetPinMux(PORTB,10U,kPORT_MuxAlt3);
    PORT_SetPinMux(PORTB,11U,kPORT_MuxAlt3);

    结果信号就从UART3与PC联络了。
    问题是,也许我的程序目前已很大了,不知哪个程序也改了UART的Clock,结果程序上设的波特率为115200,实际上需要将PC口的波特率设为57600才能正常收发。也就是我要在9600的GPS上读取信号需要将波特率设为19200——确实如此。照片如下:
    接下来将是艰苦的GPS信号读取和处理的难题。此项实验后小车就可以开始组装了。
    波特率不一致的问题已找到——有两处设置UART,删除一个重复的就Ok了。不过还是不明白的是,多次定义应该不会产生这个问题。也没有报错或警告。
    我知道答案 目前已有0人回答

    设置19200,实际9600波特率

    设置19200,实际9600波特率
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 18:35 , Processed in 0.086307 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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