你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4466|回复: 1

一个简单的问题:关于STM8串口使用疑惑。。。

[复制链接]

3

主题

29

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-5-3 11:26:16 | 显示全部楼层 |阅读模式
一个简单的问题:关于STM8串口使用疑惑。。。
这几天在使用3合1板子,在用到串口时,不能收发数据不知道是什么原因;使用光盘例程也是这样,望大侠、高手们指点一下,
相关的代码如下:(STVD编译器)

时钟初始化
void CLK_Init(void)
{
    /* Configure HSI prescaler*/
    CLK_CKDIVR &= ~0x10;          /* 01: fHSI= fHSI RC output/2. */

    /* Configure CPU clock prescaler */
    CLK_CKDIVR |= 0x01;           /* 001: fCPU=fMASTER/2. */
}

串口初始化
void UART1_INT(void)
{
/* LINUART configured as follow:
          - BaudRate = 115200 baud  
          - Word Length = 8 Bits
          - One Stop Bit
          - No parity
          - Receive and transmit enabled
          - LINUART Clock disabled
    */
    CLK_PCKENR1 |= 0X08; //开启时钟 
    LINUART_CR1  = 0x00;
    LINUART_CR3  = 0x00;
    LINUART_BRR2 = 0x03;
    LINUART_BRR1 = 0x02;
    LINUART_CR2  = 0x2C;
}

I/O初始化
PD_DDR |= 0x3D;              /* Output.                  */
PD_CR1 |= 0xFD;              /* PushPull.                */
PD_CR2  = 0x00; 

主程序
void main(void)
{
_asm("sim");
CLK_Init();
GPIO_Init();

UART1_INT();

PD_ODR=0x04;

_asm("rim");

while (1)
{}
}

中断相关
@far @interrupt void UART1_RX_IRQHandler(void)
{
unsigned char ch;
ch=LINUART_DR;
if(ch==0x0A)PD_ODR ^= 0x01;
return;
}

{0x82, USART_TX}, /* irq20 */
{0x82, UART1_RX_IRQHandler}, /* irq21 */
 
回复

使用道具 举报

0

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-7-13 01:08:26 | 显示全部楼层

RE:一个简单的问题:关于STM8串口使用疑惑。。。

void usart_init(u16 baudrate)
{
        u16 BD = 16000000/baudrate;
       
        UART1->BRR2 = (u8)((BD>>12)&0xf0) + (u8)(BD&0x0f);
        UART1->BRR1 = (u8)(BD>>4);
        //TXD
        GPIOD->DDR |=GPIO_PIN_5;//方向输出
        GPIOD->CR1 |= GPIO_PIN_5;//
        GPIOD->ODR |=GPIO_PIN_5;//数据为1数据无效
       
        //RXD
        GPIOD->DDR &=~GPIO_PIN_6;//方向输入
        GPIOD->ODR |=GPIO_PIN_6;//数据为1       
               
        UART1->CR2 |= UART1_CR2_TEN|UART1_CR2_REN;//发送使能
       
        iscmdval=0;//命令接受有效
}
这个是可以用的,你试试看,在HJSTM8调试器上编译通过,在CYM8DVK上编译运行过,没有问题
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版