stm8s003中串口中断问题

发布者:EtherealEssence最新更新时间:2020-02-17 来源: eefocus关键字:stm8s003  串口  中断问题 手机看文章 扫描二维码
随时随地手机看文章

最近在写了一段串口的调试代码,但是遇见一些无语的问题。具体的就是一进入调试界面就UART1的TC位就被置1,如图所示。因为想用串口发送完成,后触发中断,结果就是一直处于中断中,查看芯片资料,发现要先读UART_SR位,再写UART_DR位,才能清零,结果发现,这简直就是扯蛋~你会发现读取UART_SR后再写入UART_DR位就会发送一个字节的数据,完成后,又会导致TC位置1,这就是个死循环!所以感觉ST公司就默认它是1了。   发送完,产生中断也就是死循环了。

关键字:stm8s003  串口  中断问题 引用地址:stm8s003中串口中断问题

上一篇:STM8S103F3实现串口中断接,中断发功能
下一篇:【STM8学习笔记】STM8系列串口中断发送例程

推荐阅读最新更新时间:2024-11-10 10:27

串口通信
[单片机]
<font color='red'>串口</font>通信
一种232串口转红外通讯的电路设计
随着现代新技术的发展,电子产品的使用功能越来越多,各种无线通信技术不断在填充生产生活的各个领域。红外通讯以红外线作为通讯载体,通过红外光在空中的传播来传输数据,它由红外发射器和红外接收器来完成。在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外光脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。 红外通讯作为一种数据传输手段,可以在很多场合应用,如家电产品、娱乐设施的红外遥控,水、电、煤气耗能计量的自动抄表等。特别是在电子电力行业,使用红外技术进行通讯的产品越来越多,人们可以利用红外技术对产品进行短距离抄控,非常简洁方便。串口是计算机上一种非常通用
[电源管理]
一种232<font color='red'>串口</font>转红外通讯的电路设计
关于stm32 的 USB 转串口 virtual_Com_Port的例程的一些问题
当从虚拟串口到真实串口发数据时,没有错误,但发送一个稍微大一点的文件时(如1M),误码率很高。不知是为什么? 其中: int main(void) { #ifdef DEBUG debug(); #endif Set_System(); Set_USBClock(); USB_Interrupts_Config(); USB_Init(); while (1) { if (count_out != 0) { USB_To_USART_Send_Data(&buffer_out , count_out);//这句是发数据的函数,原型如下。 count_out = 0;
[单片机]
串口波特率转换的纯软件实现
串口通信,就是RS-232/RS-485通信,要求通信的双方波特率等通信格式一样才可以通信成功。可是在许多情况下,两种不同格式比如不同波特率的串口也要相互通信,这就必须进行串口波特率等格式的转换。本文介绍了如何用纯软件实现串口波特率的转换。 如果串口设备1与串口设备2之间需要通信,但是它们之间的通信波特率不一样。纯软件实现串口波特率的转换的原理就是利用计算机的两个串口,称为串口A和串口B,分别设置为不同的波特率、不同的校验位、不同的数据位和不同的停止位。其中串口A按照串口A设置的波特率等格式接收数据立即从串口B按照串口B设置的波特率等格式发送出去,同样串口B以串口B设置波特率等格式收到的数据立即从串口A以串口A设置的波特率等格式
[嵌入式]
51单片机在Keil中使用printf进行串口输出
最近有同学在51单片机的学习过程中困扰如何使用单片机串口在上位机串口助手上输出显示的问题,其实很多开发环境都支持使用C语言里面最常用的printf函数,Keil中也不例外,不仅仅是最常用的STC89C52、keil下其他51系列单片机如STC12、STC15等同样适用。具体步骤如下: 在Keil中建立一个空的工程,加入一个源文件,如main.c 粘贴以下代码,编译生成hex文件,下载到单片机即可。 需要注意的是: 1、需要包含stdio.h头文件 2、串口初试化函数中需要有 TI = 1; 废话少说,直接上代码: #include stdio.h #include reg52.h void InitUART
[单片机]
STM32 串口中断总结
简介:本文以USART1为例,叙述串口中断的编程过程。一般情况下我们使用原始的外设和GPIO端口引脚的映射关系,如果要改变其映射的话,请另外查看参考手册上关于GPIO重映射部分。对于GPIO的复用,其引脚的输入与输出模式都有要求. 1、先来讲述一下在应用串口中断时涉及到的一些库文件。 首先对于STM32外设库文件的应用编程,misc.c和stm32f10x_rcc.c是肯定要添加到。 接下来就是我们要用到的相关外设了。毫无疑问,串口文件stm32f10x_usart.c是必须的。串口通信是对通用GPIO端口引脚的功能复用,所以还需要stm32f10x_gpio.c文件。另外,因为有中断的产生,所以中断文件stm32f10
[单片机]
Labview与C51单片机实现串口通信
Labview串口通信学会两种方法,一种是利用visa(虚拟仪器软件构架),另一种是调用activeX控件。 第一种方法(VISA)程序如图 首先,设置串口参数,串口初始化,循环内利用VISA WITE实现对串口的写操作,延时200毫秒,用VISA READ实现读操作,中间有个端口属性节点的作用是计算端口的总的字节数。非常简单,但我花了一天时间搞懂。 第二种方法 调用active X 程序图如下所示 ACTIVE X串口通信的最大优点是可以利用中断实现数据的传送或对下位机的控制,MSCOMM32控件实现串口通信主要是通过对其属性节点的设置来实现的。并利用到了事件回调方法实现中断程序。
[单片机]
c51模拟串口
在电路设计当中,经常会感觉控制器mcu的串口sci数量太少,一般mcu的sci数量不会超过3个(其实包含有3个的就是很多的了)。要想使用更多的串口sci,就得选用硬件串口uart扩展芯片或者采用软件协议利用一般的端口来模拟sci协议。利用软件模拟的方法是最廉价的设计方法。现在把c51模拟串口sci的程序提供出来,供大家享用。 /********************************************** IO 口模拟232通讯程序,频率9600 占用定时器0 **********************************************/ #i nclude MAIN.h #i nclude
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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