STM8学习笔记---串口uart1_stm8串口发送字符串-程序员宅基地

技术标签: stm8  

使用uart1串口,需要用到stm8s_uart1.c和stm8s_uart1.h两个文件

1、建立工程目录结构如下:


2、编写uart.h文件如下:

#ifndef __UART_H
#define __UART_H


#include "stm8s.h"
#include "stm8s_clk.h"


void USART_Configuration(void);   //串口配置函数
void UART_send_string(uint8_t *Buffer);//发送一个字符串函数
#endif /* __UART_H */


3、编写uart.c文件如下:

#include "uart.h"

void USART_Configuration(void)//串口初始化函数
  {  
    UART1_DeInit(); //清除之前的串口配置
    UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \
    UART1_PARITY_NO , UART1_SYNCMODE_CLOCK_DISABLE , UART1_MODE_TXRX_ENABLE);
    //串口配置:波特率115200,字节数8,1个停止位,无奇偶效验位,非同步模式,允许接受和发送
  
    UART1_Cmd(ENABLE );  //启用串口
   }


void UART_send_string(uint8_t *Buffer) //发送一个字符
    {
       uint8_t *String;
        String=Buffer;
        while(*String!='\0')
       {
          UART1_SendData8(*String);
          while (UART1_GetFlagStatus(UART1_FLAG_TXE)==RESET);
          String++;
        }
    }


4、编写主函数如下:

#include "stm8s.h"
#include "stm8s_clk.h"
#include "uart.h" 
   
static void delay (int cnt) 
{
  while (cnt--);
}


int main(void)

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
   
  USART_Configuration();//串口配置
  while (1)
  {
     UART_send_string("LIKE");
     UART1_SendData8('\n');
     while (UART1_GetFlagStatus(UART1_FLAG_TXE)==RESET);
delay(30000);
                delay(30000);
                delay(30000);
  }
}

运行结果:




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qinrenzhi/article/details/80894508

智能推荐

react-native onEndReached 频繁调用_rn flatlist onendreached 会自动调用的问题-程序员宅基地

文章浏览阅读3.7k次。自己封装FlatList 上拉加载的时候,数据比较少的时候onEndReached 频繁调用,直到加载完所有数据,,按照这篇文章FlatList上拉加载写了一个发现了问题,如果数据比较少,不能满屏的话,onEndReached 就会频繁调用, 也有人说是应该用这种方式绑定 this.onEndReached.bind(this), onEndReached:当所有的数据都已经渲染过,并且列..._rn flatlist onendreached 会自动调用的问题

Python 如何在Vscode里面添加代码注释_vscode python 添加注释-程序员宅基地

文章浏览阅读1.5k次。作为一个全干工程师,我学过Java,C#,JS。其实语言这个东西都是一通百通的,尤其是静态语言到动态语言。静态语言和动态语言的区别就是:属性能不能变化。静态语言适合写复杂的功能,动态语言适合写简单的功能。当然这只是相对来说,只要你代码管理的好,其实差不多。硬要说差别的话就是静态语言效率会高一点。其实你只要接触过JS之后,你上手Python其实很快的,但是我还是不习惯Python的不命名直接用,感觉写多了会很容易出Bug,而且动态语言你要对作用域和代码命名有极高的敏感度,不然后面Debug会很折磨。_vscode python 添加注释

大学生bootstrap框架网页作业成品 bootstrap响应式网页制作模板 学生家乡网页bootstrap框架网站作品 html静态网页设计制作 dw静态网页成品模板素材网页-程序员宅基地

文章浏览阅读754次,点赞25次,收藏17次。网页作品编辑作品下载后可使用任意HTML编辑软件(如:`DW、HBuilder、NotePAD 、Vscode 、Sublime 、Webstorm、 Notepad++ 等任意HTML软件编辑修改网页)网页作品技术:Div+CSS、鼠标滑过特效、Table、导航栏效果、banner、表单、二级三级页面等,视频、 音频元素 、Flash,同时设计了logo(源文件),基本期末作业所需的知识点全覆盖。

2017年度十大新兴技术,多久才能实现?-程序员宅基地

文章浏览阅读121次。世界经济论坛每年评选年度十大新兴技术。在此前五年的榜单中,3D打印、CRISPR-Cas9、光遗传等技术已经成为我们生活、研究中的重要元素。而在今年的榜单中,又有哪些将改变人类的未来?今年报告中的新兴技术包括将二氧化碳变成燃料的“人造叶子”,以及从空气中获取水的技术,可能很快将在解决全球上最迫切的挑战中发挥作用。这些技术由世界经济论坛的专家和全球未来...

Hive/HiveSQL常用优化方法全面总结_hive/hiveql常用优化方法全面总结-程序员宅基地

文章浏览阅读8k次,点赞17次,收藏167次。Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapRe..._hive/hiveql常用优化方法全面总结

电磁工程计算机辅助设计,《ANSYS工程应用教程-热与电磁学篇》-程序员宅基地

文章浏览阅读307次。ANSYS工程应用教程-热与电磁学篇所属分类: 计算机辅助设计与工程计算出版社: 中国铁道出版社作者: 唐兴伦出版时间: 2003/1ISBN书号: 9787113050146本书重点讲述了如何利用ANSYS有限元软件求解目前工程中普遍存在的各种热与电磁学分析问题。本书通过丰富的实例进行讲解,尤其适合刚刚接触ANSYS并渴望快速入门的工程技术人员。全书本着深入浅出的原则,按图形用户界面和命令流两种..._电磁辅助工程

随便推点

移动端输入框固定在底部键盘抬起时遮挡住输入框-程序员宅基地

文章浏览阅读333次。移动端开发时输入框使用fixed固定在底部时,抬起键盘会遮挡住输入框监听输入框获得焦点$(function(){$("#pinglun").focus(function(){ //输入框获得焦点var tHeight = $(document).height(); //获取当前屏幕高度,没用到co..._移动端 使用fixed定位到底部时,软键盘弹起会被遮挡

手把手教你离线搭建CDH6.2_cdh6.2安装步-程序员宅基地

文章浏览阅读1.2k次,点赞40次,收藏14次。基于自建 parcels 的方式进行CDH6.2的大数据集群搭建,手把手教你安装,亲测可用,从基础的系统环境搭建、参数优化、硬件划分原则到后期的使用维护及日常运维,应有尽有,是我工作中的实战,后续还会不断维护,请参照下面的步骤实现,非常nice!!!_cdh6.2安装步

ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/oracle-程序员宅基地

文章浏览阅读614次。oracle数据库启动报错ORA-01078LRM-00109_ora-01078: failure in processing system parameters lrm-00109: could not open

超越时间与人力的软件开发智慧:《人月神话》_软件开发项目 人月-程序员宅基地

文章浏览阅读1.8k次,点赞65次,收藏62次。“站在巨人的肩膀上,我才能看的更远”。在软件工程领域,前任的经验值得我们学习,更何况这本书更是经验中的精粹,所以说无论你是在校大学生,还是在职工作的同志,我都推荐大家读一读,相信它会让大家受益良多_软件开发项目 人月

gitlab Push 异常:commiter(xxx)不是GitLab中的中文名_idea gl-hook-err: 的 committer 不是 gitlab 中的中文名-程序员宅基地

文章浏览阅读957次。问题原因:建议直接使用git config --global设置正确用户名和邮件,如果先执行的git config user.name设置了错误的用户名,那么后续使用git config --global设置正确用户名也不会对当前分支上的提交生效,会一直报错。(1)为避免修改多次提交的用户名,直接在Version Control ->Log中,在错误提交的前一个正确commit上右击选择Brach’当前分支名称’->Rebase Current onto Selected。(3)重新提交代码即可。_idea gl-hook-err: 的 committer 不是 gitlab 中的中文名

在Mac系统下安装Apache Tomcat的详细步骤_mac tomcat安装及配置教程-程序员宅基地

文章浏览阅读4.8k次,点赞11次,收藏36次。第一步:下载Tomcat http://tomcat.apache.org左侧Download选择对应的版本,这里选择的是Tomcat9第二步:下载Tomcat 下载后把文件移动到/usr/local/直接拉过去这是个隐藏文件点见finder(访达)点击前往-前往文件夹输入..._mac tomcat安装及配置教程