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

查看: 11247|回复: 10

STM8L101F3串口通信

[复制链接]

1

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-18 17:58:54 | 显示全部楼层 |阅读模式
 本人只有学习过51单片机,现在开始学习STM8L,但是做完LED和按键试验后,参考网上STM8S的一些材料学习串口通信,但是总是不能成功,内心有点焦虑,希望那位大大给个STM8L101F3串口通信的简单例程,让我学习学习,谢谢!!
<
回复

使用道具 举报

8

主题

31

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 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);
简单的一个初始化
回复 支持 反对

使用道具 举报

1

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 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的
 
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2014-3-19 09:45:57 | 显示全部楼层

RE:STM8L101F3串口通信

你用的哪个串口?你把你的代码发出来看一下。
回复 支持 反对

使用道具 举报

1

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-3-19 11:41:55 | 显示全部楼层

回复:STM8L101F3串口通信

回复第 4 楼 于2014-03-19 09:45:57发表:
你用的哪个串口?你把你的代码发出来看一下。
STM8L101不就一个串口吗?我用的USART_TX和USART_RX。
我用的IAR  程序是:
#include&quot;iostm8l101f3.h&quot;
void delay(int m)
{
  int i,j;
  if(m=255)
       t=0;
    DelayMS(100);             // 延时100MS
  }                       

用库函数的程序是改的风驰开发板8S的例程,就是将其中的寄存器和库函数改为8L的(见附件)
 

 

USART.zip

下载

177.65 KB, 下载次数: 267

回复 支持 反对

使用道具 举报

8

主题

31

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 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 &amp;&amp; gc.Switch.bit.OuterPower)     //接收超时
  {
    gc.Switch.bit.ErrorComm = 1;
  }
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2014-3-19 16:55:00 | 显示全部楼层

RE:STM8L101F3串口通信

我看你并没有开启USART的时钟
CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);
回复 支持 反对

使用道具 举报

1

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 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 &amp;&amp; gc.Switch.bit.OuterPower)     //接收超时
  {
    gc.Switch.bit.ErrorComm = 1;
  }
一个发送,一个接收,大概是这样子,这个只是我一个程序中一部分代码,我是用库的,不知对你能帮助到
 
你给的我有点看不懂,不过我还是要谢谢你,以后还望多多指教
 
回复 支持 反对

使用道具 举报

1

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-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);
 
谢谢!
 
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2018-1-8
发表于 2017-10-24 15:17:28 | 显示全部楼层
发111111111111111111111
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版