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

STM8 波特率

[复制链接]
zj20115659 提问时间:2015-10-14 08:36 /
阅读主题, 点击返回1楼
收藏 评论15 发布时间:2015-10-14 08:36
15个回答
zj20115659 回答时间:2015-10-14 16:31:25
ughbss 发表于 2015-10-14 16:17
你用的那个型号的STM8

STM8S103F3  
ughbss 回答时间:2015-10-14 16:50:32
本帖最后由 ughbss 于 2015-10-14 16:51 编辑

问题出在,你初始化的是UART1相关寄存器,而你在使用时是用的UART2相关寄存器(看你的中断程序),STM8S103没有UART2
zj20115659 回答时间:2015-10-14 17:12:42
ughbss 发表于 2015-10-14 16:50
问题出在,你初始化的是UART1相关寄存器,而你在使用时是用的UART2相关寄存器(看你的中断程序),STM8S10 ...

我用的是UART1; 函数名字是我从s105那边改过来的;不影响
ughbss 回答时间:2015-10-14 17:30:10
zj20115659 发表于 2015-10-14 17:12
我用的是UART1; 函数名字是我从s105那边改过来的;不影响

现象是什么?MCU发数据乱码?只在115200下乱码?
zj20115659 回答时间:2015-10-15 08:48:52
ughbss 发表于 2015-10-14 17:30
现象是什么?MCU发数据乱码?只在115200下乱码?

恩,57600以下都可以,加大到115200就乱码了
刚声打火机 回答时间:2015-10-15 09:06:40
zj20115659 发表于 2015-10-14 16:01
代码发出来了,6楼

/*
*                     串口初始化              
*/
void uart1_init(void)
{
        UART1_Init(BAUD_RATE, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,
                                UART1_SYNCMODE_CLOCK_DISABLE,UART1_MODE_TXRX_ENABLE);
        UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
        enableInterrupts();
        UART1_Cmd(ENABLE);
}


/*
*                  串口发送一字节               
*/
void usart1_send_byte(uc8 byte)
{
        while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET)
                ;
       
        UART1_SendData8(byte);
}

/* 中断处理函数 */
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
        uint8_t data;

        if (UART1_GetITStatus(UART1_IT_RXNE)) {
                data = UART1_ReceiveData8();
                // TODO : 添加自己的代码,处理data
                UART1_ClearITPendingBit(UART1_IT_RXNE);
        }
}

12
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版