串口初始化函数使用stc-isp-v6.88J版本自动生成

串口1例程

#include <STC8.h>void UartInit(void)       //9600bps@11.0592MHz
{SCON = 0x50;      //8位数据,可变波特率AUXR |= 0x40;      //定时器时钟1T模式AUXR &= 0xFE;       //串口1选择定时器1为波特率发生器TMOD &= 0x0F;        //设置定时器模式TL1 = 0xE0;       //设置定时初始值TH1 = 0xFE;       //设置定时初始值ET1 = 0;      //禁止定时器%d中断TR1 = 1;        //定时器1开始计时ES = 1;//使能串口中断EA = 1;//使能总中断
}//向串口发送一个字符
void putchar(char ch)
{SBUF = ch;while(!TI);TI = 0;
}//向串口发送一段字符串
void prints(char *s)
{while(*s != '\0')//发送字符串,直到遇到0才结束{SBUF = *s++;while(!TI);TI = 0;}
}void main(void)
{UartInit();prints("HelloWorld!");putchar('\n');while(1);
}void UART1_Isr() interrupt 4
{unsigned char uartData;//单字节串口数据if(RI){/*将接收到的数据向PC机发送回去*/RI = 0;uartData = SBUF;SBUF = uartData;TI = 0;}
}

串口2

#include <STC8.h>bit busy;
char wptr;
char rptr;
char buffer[16];void UartInit(void)     //9600bps@11.0592MHz
{S2CON = 0x50;     //8位数据,可变波特率AUXR |= 0x04;      //定时器时钟1T模式T2L = 0xE0;     //设置定时初始值T2H = 0xFE;       //设置定时初始值AUXR |= 0x10;     //定时器2开始计时IE2 = 0x01;          //串口2中断允许EA = 1;               //开总中断
}//向串口发送一个字符
void Uart2Send(char dat)
{while (busy);busy = 1;S2BUF = dat;
}//向串口发送一段字符串
void Uart2SendStr(char *p)
{while (*p){Uart2Send(*p++);}
}void main()
{UartInit();Uart2SendStr("HelloWorld!\n");while (1){if (rptr != wptr){Uart2Send(buffer[rptr++]);rptr &= 0x0f;}}
}void Uart2Isr() interrupt 8
{if (S2CON & 0x02){S2CON &= ~0x02;busy = 0;}if (S2CON & 0x01){S2CON &= ~0x01;buffer[wptr++] = S2BUF;wptr &= 0x0f;}
}

【STC8学习笔记】STC8A8K64S4A12串口配置相关推荐

  1. S32K144学习笔记2 - 串口配置

    1.串口引脚配置 双击左侧的pin_mux:PinSettings 右侧选择LPUART,如下图: 2.添加串口组件 双击左侧Components 右侧双击lpuart,添加三个串口组件. 配置串口信 ...

  2. stm32学习笔记----双串口同时打开时的printf()问题

    stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其 ...

  3. KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3——串口Stdio实现

    KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3--串口Stdio实现 一.介绍 任务目标 二.工程创建 三.软件设计 第一步,BSP构建 1, 添加前面的pll_config文件 2 ...

  4. 【K210】K210学习笔记五——串口通信

    [K210]K210学习笔记五--串口通信 前言 K210如何进行串口通信 K210串口配置 K210串口发送相关定义 K210串口接收相关定义 K210串口发送接收测试 完整源码 前言 本人大四学生 ...

  5. Qt5学习笔记之串口助手四:增加16进制/ASCII切换、周期发送

    目录 1. 概述 2. 16进制/ASCII发送 2.1 功能实现 2.2 界面修改 3. 接收框显示发送内容 3.1 以16进制/ASCII显示 3.1.1 界面修改 3.1.2 功能实现 3.2 ...

  6. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  7. openCV2学习笔记---1.环境配置

    openCV2学习笔记-1.环境配置 openCV 是开源的计算机视觉代码库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成 ...

  8. LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决)

    LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决) 概述 每一次选修课总会碰到一堆问题,我真的是幸运得很.这次是LINUX服务器管理这门课,最开始安装虚拟机一切正常(用的是VMware安装u ...

  9. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  10. Qt5学习笔记之串口助手三:打包成Windows软件

    这里写目录标题 添加图标 打包程序 测试打包好的软件 添加图标 图标的获取可以参考我的另一篇文章:Qt5学习笔记之图标下载和转换,这里只记录下Qt中使用图标的方法. 1.切换到release模式下进行 ...

最新文章

  1. plsql设置字段可为空_2015最新整理PLSQL常用设置
  2. 使用 GetStartupInfo 检查自己是否被调试
  3. mysql 启动参数_MySQL启动相关参数 MySQL DBA学习
  4. 错误 Failed to load module “canberra-gtk-module“ 解决方案
  5. 公众号服务器配置url证书问题,公众号服务器配置url,验证token一直出错,为什么?...
  6. 16位调色板和32位调色板_使调色板可访问
  7. zookeeper开机自启动
  8. 条件随机场python实现_基于条件随机场的多标签分类
  9. Spring Security 用户登录实战
  10. 基于MATLAB的平面刚架有限元分析,基于MATLAB的平面刚架静力分析.pdf
  11. Visual studio 2010 中文版安装Siverlight 5 beta tools 总结
  12. Cmdkey 凭证管理器工具
  13. Unity 用mono打开脚本时修改其显示分格,可VS风格等显示
  14. ddos攻击服务器的几种方式
  15. 深入剖析https原理——加密,完整与端点鉴别
  16. 鬼谷八荒逆天改命词条通过C++代码制作
  17. 面试笔试整理3:深度学习机器学习面试问题准备(必会)
  18. 牛刀:中国房价的买点还没有…
  19. Altium Designer 制造输出 各文件后缀的含义
  20. 2019届互联网校招薪资盘点!

热门文章

  1. 浅谈ERP系统实施后如何完善企业内部控制制度建设
  2. 那位学软件测试的广州宝妈,后来怎样了?
  3. YOLOv5模型剪枝压缩
  4. 最好网络推广软件-Skycc组合营销软件
  5. 新西兰计算机科学专业方向,2020年新西兰计算机科学专业哪个大学好
  6. html5页面弹幕代码,html5新年许愿文字弹幕代码
  7. 多说最近访客通用代码使用方法
  8. JsBarcode:JS条形码生成
  9. 《MySQL数据库》之练习表数据:emp表与dept表的脚本整理
  10. 关于AML芯片电视,风行刷机包的自定义和去广告的研究