STM8L101F3P6串口查询接收

2020-03-26来源: eefocus关键字:STM8L101F3P6  串口  查询接收

/******************************Copyright (c)***********************************/

/*                                                                            */

/*                            老李电子工作                                    */

/*                                                                            */

/*------------------------------File Info-------------------------------------*/

/* File name:            main.c                                               */

/* Last modified Date:   2014-06-19                                           */

/* Last Version:         1.0                                                  */

/* Descriptions:         STM8L103F3P6,内部时钟,16MHz,串口查询接收,接收1个字 */

/*                       符                                                   */

/*                                                                            */

/* 硬件连接:                                                                  */

/*                       TX----PC3                                            */

/*                       RX----PC2                                            */

/*                                                                            */

/*----------------------------------------------------------------------------*/

/* Created by:           Li Xiang                                             */

/* Created date:         2014-06-19                                           */

/* Version:              1.0                                                  */

/* Descriptions:         无                                                   */

/*                                                                            */

/******************************************************************************/

 

/* Includes ------------------------------------------------------------------*/

#include "stm8l10x.h"

#include "stm8l10x_usart.h"

/* Private typedef -----------------------------------------------------------*/

/* Private define ------------------------------------------------------------*/

#define POWER_BD            GPIO_Pin_0

#define POWER_BT            GPIO_Pin_1

#define MSEL                GPIO_Pin_2

#define NRESET              GPIO_Pin_3

#define BD_NRESET           GPIO_Pin_4

#define RESETB              GPIO_Pin_5

#define SCL2                GPIO_Pin_6

#define SDA2                GPIO_Pin_7

 

#define SDA                 GPIO_Pin_0

#define SCL                 GPIO_Pin_1

#define SCREEN_CTRL         GPIO_Pin_4

 

#define POWER_WIFI          GPIO_Pin_0

/* Private macro -------------------------------------------------------------*/

/* Private variables ---------------------------------------------------------*/

 

/* Private function prototypes -----------------------------------------------*/

static void BoardInit(void);

static void CLK_Init(void);

static void GPIO_Init_my(void);

static void USART_Config(void);

void USART_SendByte(uint8_t data);

void USART_SendString(uint8_t* Data,uint16_t len);

uint8_t USART_ReceiveByte(void);

void Delay_ms(uint32_t nCount);

/* Private functions ---------------------------------------------------------*/

 

/******************************************************************************/

/* Function name:        main                                                 */

/* Descriptions:        主函数                                                */

/* input parameters:    无                                                    */

/* output parameters:   无                                                    */

/* Returned value:      无                                                    */

/******************************************************************************/

void main(void)

{

volatile uint8_t ch;

BoardInit();

 

while (1){

ch=USART_ReceiveByte();

Delay_ms(1000);

}

}

 

/******************************************************************************/

/* Function name:        BoardInit                                            */

/* Descriptions:        主函数                                                */

/* input parameters:    无                                                    */

/* output parameters:   无                                                    */

/* Returned value:      无                                                    */

/******************************************************************************/

static void BoardInit(void)

{

CLK_Init();    

GPIO_Init_my();

USART_Config();

}

 

/******************************************************************************/

/* Function name:        CLK_Init                                             */

/* Descriptions:         时钟初始化函数                                       */

/* input parameters:     无                                                   */

/* output parameters: 无

[1] [2] [3]
关键字:STM8L101F3P6  串口  查询接收 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic492652.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8L101F3P6关于微秒级延时函数不同写法的波形
下一篇:STM8L152C6T6通过IIC接口操作M24LR64的正确波形

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8L101F3P6关于毫秒级延时函数不同写法的波形
总结一下STM8L101F3P6工作在16MHz下,利用死循环、中断等不同写法的微秒级延时函数精度的情况。一、死循环空指令的写法,延时函数程序如下:/******************************************************************************//* Function name:       Delay_ms                               
发表于 2020-02-16
STM8L101F3P6关于毫秒级延时函数不同写法的波形
STM8L101F3P-串口发送功能初始化
1.串口初始化函数CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv1);GPIO_ExternalPullUpConfig(GPIOC,GPIO_Pin_3|GPIO_Pin_4, ENABLE);CLK_PeripheralClockConfig(CLK_Peripheral_USART, ENABLE);USART_DeInit();USART_Init(9600, USART_WordLength_8D, USART_StopBits_1, USART_Parity_No,USART_Mode_Tx);2.发送一个uint8_t类型的数据USART_SendData8(
发表于 2018-10-08
STM8L101F3P6低功耗
因最近项目用到STM8L101F3P6超低功耗MCU,所以想在这里总结一下相关内容。STM8L101F3P6 供电电压:1.65V - 3.6V,具体的最小电路如下如所示平时编写代码可参考ST官网给的固件例程。在使用该MCU时,为了达到低功耗的目的,平时可注意几个方面:1、使用STM8L101的AWU自动唤醒模块,并尽量是休眠时间较长。2、在进入休眠状态时,需配置好各个GPIO的高低电平状态,因为如果存在端口中存在高低电平的通路,尽管电阻有几十k,但还是会增加几十微安的电流,在休眠状态下,这个电流还是比较大的。举个例子,我是将没有用到的GPIO口都置为上拉输出低,对于中断口我都是用1M的电阻来外部上拉,以减小电流。
发表于 2018-09-08
STM8L101F3P6查询发送中断接收
中断接收。 */ /* 本程序模拟一小段协议的解析,接收到报文0xc2,0x01,0x7b后*/ /* 返回报文0xd2,0x64,0x21 */ /* 查询发送,中断接收 */ /* */ /* 硬件连接: */ /* TX----PC3 */ /* RX----PC2 */ /* */ /*----------------------------------------------------------------------------*/ /* Created by: Li Xiang */ /* Created date: 2014-06-19 */ /* Version: 1.0 */ /* Descriptions
发表于 2016-06-14
MSP430 串口初始化,及串口操作
#include  <msp430x14x.h> /*    关于UART0串口的配置,及操作函数说明*//* 一、uart0初始化*/ void uart0_idev_init(void){        P3SEL  |= BIT4  + BIT5;     // 1. 选择P3.4和P3.5做UART0通信端口        ME1    |= UTXE0 + URXE0;    // 2. 使能
发表于 2020-03-10
Keil C51 中使用Printf()进行串口输出
如何使用printf在串口显示信息,有两种办法,因为在keil C51中 printf函数是调用putchar进行数据传送的,而putchar应该是先判断TI是否为1,不为1则等待为1。 如果为1则清0,然后送出一个字符。因此如果你直接使用printf函数,你的程序就会在putchar函数中等待TI为1。这时你的程序就相当于直接死掉了。你可以通过改写putchar函数实现自己的目的。TI相当于是初始化不给赋初值就不干活。所以第一种办法就是在初始化的时候,给TI赋值为1,比如void uart_init() {    PCON &= 0x7F; //波特率不倍速 SCON
发表于 2020-03-08
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved