STM8L101F3串口通信
本人只有学习过51单片机,现在开始学习STM8L,但是做完LED和按键试验后,参考网上STM8S的一些材料学习串口通信,但是总是不能成功,内心有点焦虑,希望那位大大给个STM8L101F3串口通信的简单例程,让我学习学习,谢谢!!回复:STM8L101F3串口通信
UART2_DeInit();UART2_Init(600, UART2_WORDLENGTH_9D, UART2_STOPBITS_2, UART2_PARITY_EVEN, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE, ENABLE);
UART2_Cmd(ENABLE);
简单的一个初始化
回复:STM8L101F3串口通信
回复第 2 楼 于2014-03-18 20:32:55发表:UART2_DeInit();
UART2_Init(600, UART2_WORDLENGTH_9D, UART2_STOPBITS_2, UART2_PARITY_EVEN, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE, ENABLE);
UART2_Cmd(ENABLE);
简单的一个初始化
我试过了,不可以啊,有没有完整的例程,STM8L101的
RE:STM8L101F3串口通信
你用的哪个串口?你把你的代码发出来看一下。回复:STM8L101F3串口通信
回复第 4 楼 于2014-03-19 09:45:57发表:你用的哪个串口?你把你的代码发出来看一下。
STM8L101不就一个串口吗?我用的USART_TX和USART_RX。
我用的IAR 程序是:
#include"iostm8l101f3.h"
void delay(int m)
{
int i,j;
if(m=255)
t=0;
DelayMS(100); // 延时100MS
}
}
用库函数的程序是改的风驰开发板8S的例程,就是将其中的寄存器和库函数改为8L的(见附件)
回复:STM8L101F3串口通信
回复第 3 楼 于2014-03-19 08:46:18发表:回复第 2 楼 于2014-03-18 20:32:55发表:
UART2_DeInit();
UART2_Init(600, UART2_WORDLENGTH_9D, UART2_STOPBITS_2, UART2_PARITY_EVEN, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE, ENABLE);
UART2_Cmd(ENABLE);
简单的一个初始化
我试过了,不可以啊,有没有完整的例程,STM8L101的
这个是初始化而已,
void Link_Serial(void)
{
static bool SendFlag = FALSE;
//接收外机数据
if ( )
{ gc.Switch.bit.ErrorComm = 0;
for(u8 i=0;i= 10000 && gc.Switch.bit.OuterPower) //接收超时
{
gc.Switch.bit.ErrorComm = 1;
}
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
RE:STM8L101F3串口通信
我看你并没有开启USART的时钟CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);
回复:STM8L101F3串口通信
回复第 6 楼 于2014-03-19 16:30:20发表:回复第 3 楼 于2014-03-19 08:46:18发表:
回复第 2 楼 于2014-03-18 20:32:55发表:
UART2_DeInit();
UART2_Init(600, UART2_WORDLENGTH_9D, UART2_STOPBITS_2, UART2_PARITY_EVEN, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE, ENABLE);
UART2_Cmd(ENABLE);
简单的一个初始化
我试过了,不可以啊,有没有完整的例程,STM8L101的
这个是初始化而已,
void Link_Serial(void)
{
static bool SendFlag = FALSE;
//接收外机数据
if ( )
{ gc.Switch.bit.ErrorComm = 0;
for(u8 i=0;i= 10000 && gc.Switch.bit.OuterPower) //接收超时
{
gc.Switch.bit.ErrorComm = 1;
}
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
你给的我有点看不懂,不过我还是要谢谢你,以后还望多多指教
回复:STM8L101F3串口通信
回复第 7 楼 于2014-03-19 16:55:00发表:我看你并没有开启USART的时钟
CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);
谢谢!
发111111111111111111111
我也是新手,试试直接对寄存器操作,先初始化,再发送数据试试
页:
[1]