[STM8] STM903K3的UART1问题:接收部分就是进入不了中断

[复制链接]
3370|6
 楼主| huiguang_1 发表于 2011-6-28 11:16 | 显示全部楼层 |阅读模式
STM903K3的UART1问题:发送数据可以,而且用示波器可以看到发送出的波形,但接收部分就是进入不了中断
相关程序块如下所示:
void uart_init(void)
{
        UART1_CR1 = 0x00;
        UART1_CR2 = 0x00;
        UART1_CR3 = 0x00;
       
        UART1_BRR2 = 0x02;
        UART1_BRR1 = 0x68;                                                                                                                                                                                        //16000000/9600 = 0x0682

        UART1_CR2 = 0x2c;
        //CLK_PCKENR1 = 0x04;
}

void UART3_sendchar(unsigned char c)
{
        while((UART1_SR & 0x80)==0x00);
        UART1_DR=c;
}

@far @interrupt void UART1_Recv_IRQHandler (void)
{
        unsigned char ch;
        ch=UART1_DR;
        nop();
        return;
}
以下是UART1中段映射部分:
        {0x82, NonHandledInterrupt}, /* irq14 */
        {0x82, NonHandledInterrupt}, /* irq15 */
        {0x82, NonHandledInterrupt}, /* irq16 */
        {0x82, NonHandledInterrupt}, /* irq17 */
        {0x82, UART1_Recv_IRQHandler}, /* irq18 */
        {0x82, NonHandledInterrupt}, /* irq19 */
        {0x82, NonHandledInterrupt}, /* irq20 */
 楼主| huiguang_1 发表于 2011-6-28 13:30 | 显示全部楼层
自己顶下哈,别沉底了,高手们请帮个忙啊。
st_001 发表于 2011-6-28 13:45 | 显示全部楼层
 楼主| huiguang_1 发表于 2011-6-29 10:03 | 显示全部楼层
自己解决了,很纠结的一个问题哦,不巧的话三天业找不出来的。。。。。
bobo5650 发表于 2011-6-29 10:39 | 显示全部楼层
LZ不打算分享一下具体的原因?
 楼主| huiguang_1 发表于 2011-6-29 13:46 | 显示全部楼层
因为AD转换中有这么一个设置位
ADC_TDRL = 0x78;                //禁止施密特触发功能
把这句话屏蔽掉就行了。很难找的,因为UART进入不了中断就会想着去找中断优先级问题,配置问题等等,很难想到去找ADC里的这个配置位,因为我的程序是在别人程序上升级的,就更想不到是这边的问题了。
 楼主| huiguang_1 发表于 2011-6-29 13:46 | 显示全部楼层
还好啊,阅读的帖子多了找到了一点灵感,哈哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

93

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部