打印
[STM8]

STM8903K3串口通信的问题

[复制链接]
2130|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PP11LL|  楼主 | 2010-10-26 19:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚接触ST,以前没有做过任何的嵌入式工作,这是我的第一个接触到的软件平台。        目前遇到了关于串口的问题,我用的是UART1,在系统初始化的时候,cpu时钟已经打开了外设TIM1,UART1的门控寄存器。然后,我也在仿真的时候设置了相应的选项字节,GPIO也不存在问题。然后开始串口的程序,先介绍我初始化的寄存器吧:
       UART1->CR1 = UART1_CR1_RESET_VALUE;
       UART1->CR3 = UART1_CR3_RESET_VALUE;
       UART1->BRR2 = 0x03;
       UART1->BRR1 = 0x68;              //波特率是4800
       UART1->CR2 =  ((u8)(UART2_CR2_TCIEN | UART2_CR2_RIEN | UART2_CR2_TEN | UART2_CR2_REN));
然后我开始写   发送初始化程序,  发送函数,   接收初始化函数,  接收函数;    发送函数和接收函数都是外部函数,在stm8_it.c中相应的发送,接收中断中调用。但是,问题出来了!我竟然进不了接收中断,各位能不能告诉我是怎么回事,我知道是我的底层有问题,但是我又找不出真正的原因。是不是CR2寄存器开的发送接收使能和中断太早了,CR2的设置这里我不知道该怎么办了,希望大家路过的,给我指点一下,谢啦!
沙发
PP11LL|  楼主 | 2010-10-27 08:13 | 只看该作者
香主,我请求你的帮助。。。:call:

使用特权

评论回复
板凳
jgphu| | 2010-10-27 18:24 | 只看该作者
1、你的外设中断和总中断有没有使能。
2、你的外设时钟有没有打开。
3、你的中断向量表有没有填入正确的位置。

使用特权

评论回复
地板
seeker2010| | 2012-12-8 17:30 | 只看该作者
903k默认uast时钟是开启的

使用特权

评论回复
5
seeker2010| | 2012-12-8 17:30 | 只看该作者
903k默认uast时钟是开启的

使用特权

评论回复
6
uet_cache| | 2012-12-8 17:54 | 只看该作者
串口的IO口有作配置没。你怎么不参考官方例程。

使用特权

评论回复
7
uet_cache| | 2012-12-8 17:55 | 只看该作者
另外,总中断要打开。

使用特权

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

本版积分规则

0

主题

4

帖子

0

粉丝