0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM8L15x单片机的串口printf输出程序分享

2oON_changxuemc 来源:网络整理 作者:工程师陈翠 2018-09-24 09:44 次阅读

这里我们以STM8L15x系列单片机使用ADC内部参考电压测量VDD电压并将电压值value通过窗口打印为例编写程序,(STM8L使用ADC内部参考电压通道测量VDD电压)

usart.h头文件:

#ifndef _usart_H

#define _usart_H

#include “stm8l15x.h”

void Usart_Init(void);

#endif

usart.c源文件:

#include “usart.h”

void Usart_Init(void)

{

CLK_PeripheralClockConfig (CLK_Peripheral_USART1,ENABLE); //开启USART1时钟

USART_Init(USART1,9600,USART_WordLength_8b,USART_StopBits_1,USART_Parity_No,USART_Mode_Tx); //USART初始化,波特率9600,8位数据长度,1位停止位,无校验位,发送模式

USART_Cmd (USART1,ENABLE);//使能USART1

}

#include “stm8l15x.h”

#include “adc.h”

#include “usart.h”

#include “stdio.h”

int putchar(int data)

{

USART_SendData8(USART1,(u8)data); //发送8位数据

while(!USART_GetFlagStatus (USART1,USART_FLAG_TXE));//等待发送完毕

return data;

}

int main( void )

{

u16 adc1_value=0;

float value=0;

Adc_Init();

Usart_Init();

while(1)

{

ADC_SoftwareStartConv(ADC1); //开启软件转换

while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//等待转换结束

ADC_ClearFlag(ADC1,ADC_FLAG_EOC);//清除对应标志

adc1_value=ADC_GetConversionValue(ADC1); //获取转换值

value=1.225*4096/adc1_value; //单位V

printf(“ad=%fV ”,value);

}

}

IAR用printf输出与keil设置不太一样,首先当然先要包含头文件“stdio.h”,然后改写putchar函数

在IAR开发环境中进行如下配置:

(1)右击Demo-Debug选择opTIon

(2)在OpTIons中将Library ConfiguraTIon改成Full

(3)在Library OpTIons中将Printf formatter改成Large即可

(4)完成上述设置后编译整个工程,然后下载程序到STM8L15x板子中并进入到Debug调试环境中,点击View-》Terminal I/O调出虚拟终端,然后全部运行,就可以在Terminal窗口中看到打印信息

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43978

    浏览量

    620869
  • STM8L15X
    +关注

    关注

    1

    文章

    7

    浏览量

    9098

原文标题:基于STM8L15x单片机的串口printf输出

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于stm8l15单片机

    谁有stm8l15单片机的最小系统图
    发表于 07-27 15:32

    【秀秀资源】STM8单片机相关资料

    1.STM8系列单片机入门_V3.22.stm8s单片机延时函数详细解答3.STM8单片机入门V
    发表于 03-21 20:53

    STM8L15x系列微控制器是否有安全数据表?

    STM8L15x系列微控制器是否有安全数据表?以上来自于谷歌翻译以下为原文 Is there any safety datasheet for STM8L15x family of microcontrollers?
    发表于 11-15 10:55

    STM8L15x I2C:无法写入I2C寄存器

    STM8L15x I2C:无法写入I2C寄存器以上来自于谷歌翻译以下为原文 STM8L15x I2C : Cannot write I2C registers
    发表于 04-02 13:49

    stm32单片机串口如何使用printf及u3_printf

    stm32单片机串口如何使用printf及u3_printf
    发表于 12-01 07:03

    STM8L15X单片机的相关资料分享

    STM8L15X单片机,IAR软件,初学者初学stm8l15x芯片,看了下网上的一些例程,改写了一个使用STM8L152K4芯片读取外部光敏电阻电压值,并使用芯片内部ad转换,将对应电
    发表于 12-08 08:28

    详细讲解下STM8L15x-16x-05x系列单片机的项目工程文件创建

    本博文主要内容是手把手给大家详细讲解下STM8L15x-16x-05x系列单片机的项目工程文件创建,编译环境基于IAR Embedded Workbench forSTM8 IDE (EWSTM
    发表于 12-10 07:26

    STM8L05XSTM8L15X的区别是什么?

    STM8L05XSTM8L15X的区别是什么?
    发表于 02-09 06:32

    stm32单片机串口使用printf及u3_printf的方法

    无论是在51单片机还是在stm32,默认printf串口都是串口一。使用printf的时候头文件为"stdio.h&
    发表于 02-22 07:19

    基于STM8L15x单片机串口printf输出

    这里我们以STM8L15x系列单片机使用ADC内部参考电压测量VDD电压并将电压值value通过窗口打印为例编写程序,(STM8L使用ADC内部参考电压通道测量VDD电压)
    发表于 06-08 07:41 2043次阅读
    基于<b class='flag-5'>STM8L15x</b><b class='flag-5'>单片机</b>的<b class='flag-5'>串口</b><b class='flag-5'>printf</b><b class='flag-5'>输出</b>

    51单片机串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序

    本文档的主要内容详细介绍的是51单片机进行串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序的详细资料概述。
    发表于 08-14 17:32 2次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>串口</b>通讯需要注意的寄存器及51<b class='flag-5'>单片机</b>使用<b class='flag-5'>PRINTF</b>的示例<b class='flag-5'>程序</b>

    如何在Keil中使用51单片机进行printf串口输出

    最近有同学在51单片机的学习过程中困扰如何使用单片机串口在上位机串口助手上输出显示的问题,其实很多开发环境都支持使用C语言里面最常用的
    发表于 08-13 17:32 14次下载
    如何在Keil中使用51<b class='flag-5'>单片机</b>进行<b class='flag-5'>printf</b><b class='flag-5'>串口</b><b class='flag-5'>输出</b>

    51单片机串口通信调试printf函数重定向输出打印

    51单片机串口通信以及printf调试串行通信1.串口初始化串口工作方式波特率设置通过软件直接生成串口
    发表于 11-20 16:36 16次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>串口</b>通信调试<b class='flag-5'>printf</b>函数重定向<b class='flag-5'>输出</b>打印

    单片机实现 printf 打印输出,和电脑端一样用

    在学C语言时 printf 很好用,到了单片机时却不能用,那因为 printf 在库中驱动是答应到显示屏的,所用我们把驱动重新定向打印到串口就可以在
    发表于 12-17 18:32 1次下载
    <b class='flag-5'>单片机</b>实现 <b class='flag-5'>printf</b> 打印<b class='flag-5'>输出</b>,和电脑端一样用

    stm32单片机串口使用printf及u3_printf

    无论是在51单片机还是在stm32,默认printf串口都是串口一。使用printf的时候头文件为&amp;quot;stdio.h
    发表于 12-27 19:24 1次下载
    stm32<b class='flag-5'>单片机</b><b class='flag-5'>串口</b>使用<b class='flag-5'>printf</b>及u3_<b class='flag-5'>printf</b>