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

STM8L101F3串口通信

[复制链接]
哈哈嘿嘿 提问时间:2014-3-18 17:58 /
 本人只有学习过51单片机,现在开始学习STM8L,但是做完LED和按键试验后,参考网上STM8S的一些材料学习串口通信,但是总是不能成功,内心有点焦虑,希望那位大大给个STM8L101F3串口通信的简单例程,让我学习学习,谢谢!!
收藏 评论10 发布时间:2014-3-18 17:58

举报

10个回答
木头子 回答时间:2014-3-18 20:32:55

回复: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);
简单的一个初始化
哈哈嘿嘿 回答时间:2014-3-19 08:46:18

回复: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的
 
废鱼 回答时间:2014-3-19 09:45:57

RE:STM8L101F3串口通信

你用的哪个串口?你把你的代码发出来看一下。
哈哈嘿嘿 回答时间:2014-3-19 11:41:55

回复: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的(见附件)
 

 

USART.zip

下载

177.65 KB, 下载次数: 270

木头子 回答时间:2014-3-19 16:30:20

回复: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;
  }
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
废鱼 回答时间:2014-3-19 16:55:00

RE:STM8L101F3串口通信

我看你并没有开启USART的时钟
CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);
哈哈嘿嘿 回答时间:2014-3-20 10:39:52

回复: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;
  }
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
 
你给的我有点看不懂,不过我还是要谢谢你,以后还望多多指教
 
哈哈嘿嘿 回答时间:2014-3-20 10:41:01

回复:STM8L101F3串口通信

回复第 7 楼 于2014-03-19 16:55:00发表:
我看你并没有开启USART的时钟
CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);
 
谢谢!
 
Allen-ming 回答时间:2017-10-24 15:17:28
发111111111111111111111
hjmhunter 回答时间:2017-10-25 14:39:55
我也是新手,试试直接对寄存器操作,先初始化,再发送数据试试
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版