OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4561|回复: 1

STM8S105C6基础求助

[复制链接]

52

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2012-4-26
在线时间
17 小时
发表于 2013-10-16 13:38:18 | 显示全部楼层 |阅读模式
以前一直用STM32,刚接触STM8S,
请问STM8S的串口配置,不需要配置串口所用的GPIO口吗?网上搜的都没有配置GPIO口,都没有使能该外设时钟
努力?奋斗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2013-10-16 18:55:59 | 显示全部楼层
给你个参考:
//串口1初始化
//clk:Fmaster时钟频率
//baud:波特率
void uart_init(u32 clk,u32 baud)
{
    u16 baud_div=0;
//这里直接不设置IO模式了,IO保持复位状态,串口就可以很好的工作
//如果一定要设置:TX脚设置为上拉输入;RX设置为开漏输出,就可以了.
CLK->CKENR1|=1<<2; //开启UART1时钟
    UART1->CR1|=0<<4; //8位数据长度 
    UART1->CR1|=0<<2; //无奇偶校验
    UART1->CR2|=1<<2; //串口接收使能
    UART1->CR2|=1<<3; //串口发送使能
#if EN_USART1_RX
    UART1->CR2|=1<<5; //串口接收中断使能 
#endif 
    UART1->CR3|=0<<4; //1个停止位
    UART1->CR5|=0<<3; //全双工模式 
    baud_div=(clk*1000000)/baud;//计算分频因子 
    UART1->BRR2=baud_div&0X0F; //低4位
    UART1->BRR2|=(baud_div&0XF000)>>8;  //高4位
    UART1->BRR1=(baud_div&0X0FF0)>>4;   //中间8位 
    UART1->CR1|=0<<5;         //UART1使能
ITC_Set(UART1_RX_VECTOR,3); //优先级3,最高
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-30 08:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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