搜索
bottom↓
回复: 3

lpc2378运行finsh,直接运行只显示"finsh>",单步运行显示“finsh&a

[复制链接]

出0入0汤圆

发表于 2011-12-22 14:41:18 | 显示全部楼层 |阅读模式
初始化代码
void rt_hw_console_init()
{
        /* Enable RxD and TxD pins */
          PINSEL0 |= U0PINS;          
        SCS|=0x01;
        /* 8 bits, no Parity, 1 Stop bit */
        U0LCR = 0x83;                 
        FIO0DIR |= RS485_CON;                                        //P0.6为输出
        FIO0CLR |= RS485_CON;                                        //接收状态

        /* Setup Baudrate */
        U0DLL = (PCLK/16/BAUD_RATE) & 0xFF;
        U0DLM = ((PCLK/16/BAUD_RATE) >> 8) & 0xFF;

        /* DLAB = 0 */
        U0LCR = 0x03;
}
输出代码
void rt_hw_console_output(const char* str)
{
        FIO0SET |= RS485_CON;                                        // 发送状态

        while (*str)
        {
                if (*str=='\n')
                {
                        while (!(U0LSR & 0x40));
                        U0THR = '\r';
                }
       
                while (!(U0LSR & 0x40));
                U0THR = *str;
               
                str ++;
        }
        FIO0CLR |= RS485_CON;                                        // 接收状态          
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-12-22 14:58:23 | 显示全部楼层
我想我找到原因了,因为我是485收发,最后一个字符发送后,需要等待发送结束才能把收发控制引脚改为接收

出0入0汤圆

 楼主| 发表于 2011-12-22 16:58:12 | 显示全部楼层
输出代码
void rt_hw_console_output(const char* str)
{
FIO0SET |= RS485_CON;         // 发送状态

while (*str)
{
if (*str=='\n')
{
while (!(U0LSR & 0x40));
U0THR = '\r';
}

while (!(U0LSR & 0x40));
U0THR = *str;

str ++;
}
while (!(U0LSR & 0x40));
FIO0CLR |= RS485_CON;         // 接收状态            
}

代码修改如上后,输入指令的反馈显示正常
但是每次按键的echo不正常
还要我已经发了很多贴了为什么是等待审核?
因为我是菜鸟发的贴没价值吗?

出0入0汤圆

 楼主| 发表于 2011-12-22 19:01:21 | 显示全部楼层
发现echo的字符当中是包含正确的字符的,于是调试发现
在禁用finsh和device后,即理论上能调用输出的只有console的output
启动运行显示logo正常
之后每按一个键会返回一个莫名的值,但是是固定的

比如按o一定返回H,按c返回N

在rt_hw_console_output中设置了断点,但是按键后有值返回却没有在断点停下,是为什么呢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-11 09:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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