打印
[STM8]

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

[复制链接]
2509|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 | 只看该作者
自己解决了,很纠结的一个问题哦,不巧的话三天业找不出来的。。。。。

使用特权

评论回复
5
bobo5650| | 2011-6-29 10:39 | 只看该作者
LZ不打算分享一下具体的原因?

使用特权

评论回复
6
huiguang_1|  楼主 | 2011-6-29 13:46 | 只看该作者
因为AD转换中有这么一个设置位
ADC_TDRL = 0x78;                //禁止施密特触发功能
把这句话屏蔽掉就行了。很难找的,因为UART进入不了中断就会想着去找中断优先级问题,配置问题等等,很难想到去找ADC里的这个配置位,因为我的程序是在别人程序上升级的,就更想不到是这边的问题了。

使用特权

评论回复
7
huiguang_1|  楼主 | 2011-6-29 13:46 | 只看该作者
还好啊,阅读的帖子多了找到了一点灵感,哈哈。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

93

帖子

3

粉丝