stm8s103k3 周期 捕获_stm8s103k3的UART发送数据问题
/* 添加包含芯片的头文件 */
#include
/*******************************************************************************
**函数名称:void UART1_Init(unsigned int baudrate)
**功能描述:初始化USART模块
**入口参数:unsigned int baudrate -> 设置串口波特率
**输出:无
*******************************************************************************/
void UART1_Init(unsigned int baudrate)
{
unsigned int baud; //
baud = 16000000 / baudrate; //设定串口相应波特率与串口时钟的分频数
//先写BRR2 , 再写BRR1
UART1_BRR2 = ((unsigned char)((baud & 0xf000) >> 8 )) | ((unsigned char)(baud & 0x000f)); //先写波特比率的高4位与低4位
UART1_BRR1 = ((unsigned char)((baud & 0x0ff0) >> 4)); //后写波特比率的中间8位
UART1_CR1_bit.UART0 = 0; //使能UART3
UART1_CR2_bit.RIEN = 1; //使能中断接收
UART1_CR2_bit.TEN = 1; //使能发送
UART1_CR2_bit.REN = 1; //接收使能
}
/*******************************************************************************
**函数名称:void Uart1_SendData(unsigned char data)
**功能描述:向串口发送寄存器写入一个字节数据
**入口参数:unsigned char data
**输出:无
*******************************************************************************/
void Uart1_SendData(unsigned char data)
{
while(!(UART1_SR&0X80)); //判断发送数据寄存器是否为空
UART1_DR = data; //向发送寄存器写入数据
}
/* 主函数 */
int main(void)
{
asm("sim"); //关闭系统总中断
CLK_CKDIVR = 0x00; //CPUDIV = 1 HSIDIV = 1 内部时钟 = 16Mhz
UART1_Init(9600); //调用串口1初始化函数,并设置波特率为9600 bps
asm("rim"); //打开系统总中断
while(1) //进入死循环,等待串口接收中断
{
;
}
}
/* 串口1接收数据中断服务函数 */
#pragma vector = 20 //设置串口1接收中断向量号 = 20
__interrupt void UART1_RX_RXNE(void)
{
unsigned char ch1;
UART1_SR_RXNE = 1; //清除中断标志
ch1 = UART1_DR; //读出串口接收到的数据
Uart1_SendData(ch1); //把接收到的数据再通过串口发送出去
}
stm8s103k3 周期 捕获_stm8s103k3的UART发送数据问题相关推荐
- stm8s103k3 周期 捕获_STM8S103K3 - 主流基本型系列8位MCU,具有8 KB Flash、16 MHz CPU和集成EEPROM - STMicroelectronics...
我想订阅ST电子报 ST (as data controller according to the Privacy Policy) will keep a record of my navigatio ...
- stm8s103k3 周期 捕获_STM8S_库函数_TIM1输入捕获测量信号周期
大家好,我是单片机爱好者-MCU起航.这里说下使用库函数方式控制STM8S103F3P6片上的定时器1,也就是TIM1.上一节说了如何使用TIM1实现基本的定时功能,这一节看一下如何使用TIM1来测量 ...
- stm8s103k3 周期 捕获_STM8S做输入捕获
希望我这个对正在用STM8S做输入捕获,测频的有帮助! --> 问卷调查,答题有礼 第一部: 内部时钟 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1) ...
- stm8s103k3 周期 捕获_STM8S003K3如何用定时器中断处理捕获脉冲?
如果用STM8S的一个IO口检测一个脉冲电平,用在电话机上面,比方说是GPIO3用来检测脉冲电平变化后,MCU将接通电话的GPIO1置高,接通电话.当挂断电话后,GPIO3脉冲再次变化,GPIO1置低 ...
- WinPcap - 捕获数据、发送数据
1.WinPcap WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.WinPcap提供了以下功能: 捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上 ...
- verilog设计UART发送接收及各种错误仿真
发送数据,接收数据等. 错误信号 - OverrunError - 发生在接收器已经收到一个字符(!rxEmpty),并且在rxRead发生之前,下一个字符开始到达. UnderrunError - ...
- 嵌入式作业STM32采用串口DMA方式发送数据
目录 前言 要求 一.DMA的基本介绍 DMA的基本定义 DMA的主要特征 STM32F411x系列芯片DMA控制器 二.通过CubeMX配置项目 1.创建项目 2.选择芯片STM32F103C8T6 ...
- winpcap 发送数据包
把WinPcap 中分析数据包的代码复制到VS中,再把WinPcap中数据分析中的一些关于网卡打印的代码复制到VS中. // mist12306.cpp : 定义控制台应用程序的入口点. // #in ...
- send函数 获得已发送数据长度_蓝牙BLE开发1--起因与回调函数
1 起因 笔者在开发蓝牙芯片CC2540,试图取实现大量数据的BLE透传功能,在认真学习了蓝牙4.0协议标准以及TI提供的SDK说明,我总结了两个发送函数,以及两个接收函数的位置. 两个发送函数包括 ...
- 单片机串口发送数据很慢?这种方法帮助你提高!
大家好,我是张巧龙,本文介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法:之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下,提高系统的响应 ...
最新文章
- 还在用肉眼找不同吗?这个技术轻松搞定
- R语言colSums函数、rowSums函数、colMeans函数、rowMeans函数、colMedians函数、rowMedians计算dataframe行或者列的加和、均值、中位数实战
- Python实战系列之调用小黄鸡simsimi
- python连接oracle视频教程_python怎么连接oracle
- android homme一般多钱,【ANDROID HOMME】ANDROID HOMME官网介绍_ANDROID HOMME口碑_什么值得买...
- spring学习记录(一)
- 【转】Google Chrome浏览器调试
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_12-页面静态化-页面静态化流程...
- 免费下载 客道巴巴文档 教程
- PHP利用有道智云提供的API接口来翻译字符串
- python 网页设计实践报告_网页设计实习报告范文
- WINDOWS 7 PRO X64 2015年9月增量补丁包微软官方下载地址
- numpy创建单位矩阵和对角矩阵
- Yar服务端与客户端交互,请求原理
- 农业统计分析系列2-试验设计
- 零基础go还是python_零基础学习Python的经验之谈
- 上网课的心得体会1000字_上网课的感受作文600字
- 使用3DMax制作一个象棋棋子
- 用友NC创建表空间、用户、授权
- CF1553I Stairs题解--zhengjun
热门文章
- 一套价值十万的微信公众号采集解决方案
- VisualStudio2017密钥(key)
- python爬取链家二手房楼盘数据信息
- 差分进化算法_差分进化算法入门及实例应用
- Windows电脑上有哪些好用的txt小说阅读器?
- vscode下报错:No such file or directory fatal error:no input files的一种比较坑爹的可能
- c语言无法打开源文件stdafx.h,VS2013/2012/2010 下无法打开 源 文件“stdafx.h”的解决方法...
- java oracle驱动_oracle11g jdbc驱动(jdbc最新驱动)
- 元胞自动机在交通系统中的应用之二【单车道NaSch元胞自动机模型】
- 腾讯C++程序员面试题