首先代码如下:
初始化

#include <STC15F2K60S2.H>#define S2_S0 0x01            //P_SW2.0void UART_Init()  //9600bps @11.0592MHz
{EA = 0;P_SW2 &= ~S2_S0;            //S2_S0=0 (P1.0/RxD2, P1.1/TxD2)
//  P_SW2 |= S2_S0;             //S2_S0=1 (P4.6/RxD2_2, P4.7/TxD2_2)S2CON = 0x50;        //8位数据,可变波特率AUXR &= 0xFB;      //定时器2时钟为Fosc/12,即12TT2L = 0xE8;       //设定定时初值T2H = 0xFF;        //设定定时初值AUXR |= 0x10;      //启动定时器2IE2 =0x01;   //开串口2中断  ES2=1EA = 1;}

当然还要定义几个全局数

#define S2RI  0x01              //S2CON.0
#define S2TI  0x02              //S2CON.1
#define S2RB8 0x04              //S2CON.2
#define S2TB8 0x08              //S2CON.3

这样就完成了初始化。
扩充:

详解:
一、选脚

 P_SW2 &= ~S2_S0;            //得P_SW2=0x00P_SW2 |= S2_S0;             //得P_SW2=0x00=1 (P4.6/RxD2_2, P4.7/TxD2_2)

二、波特率,工作方式设置:(用串口助手)

S2CON = 0x50;       //8位数据,可变波特率(工作方式)AUXR &= 0xFB;      //定时器2时钟为Fosc/12,即12TT2L = 0xE8;       //设定定时初值T2H = 0xFF;        //设定定时初值AUXR |= 0x10;      //启动定时器2

三、开启中断

IE2 =0x01;   //开串口2中断  ES2=1EA = 1;

其中优先级默认为低,不进行操作。

初始化就完成了。

接下来就是中断:
一、中断函数序号;

二、串口接收中断(发送中断可以不写)

最后就是发送数据的代码(接收数据处理自己看情况写)
一、发送一个字节:

void UART_SendByte(u8 dat)
{IE2 =0x00;S2CON&=~S2TI;S2BUF=dat; //发送while((S2CON&S2TI)==0); //等待发送完毕S2CON&=~S2TI;     //S2TI=0 IE2 =0x01;
}

二、发送一串字符串:

**
* @brief  实现发送指令,并换新行* @param  *cmd* @retval **/
void ESP8266_SendCmd(u8 *pbuf)
{while(*pbuf!='\n') //遇到空格跳出循环   {UART_SendByte(*pbuf);delay_10us(5);pbuf++;       }delay_10us(5);UART_SendByte('\n');//换行}

个人觉得判断这个比较好,可以输出0x00

2021-06-08STC15F2K602S串口2驱动代码相关推荐

  1. cubemx stm32 陶晶驰 串口屏 基于YXY通信原理的串口屏驱动代码

    陶晶驰串口屏 资料 陶晶驰串口屏是本质是一个MCU,屏幕是MCU的模块,一般是一块TFT屏幕.在串口屏厂商提供的软件上面编写界面,然后通过串口直接烧到串口屏的MCU上,然后在屏幕上展示出来. 串口屏资 ...

  2. 串口 (四) linux串口之驱动代码

    early console 之 early printk 需要平台侧实现 printch early console 之 earlycon //驱动需要实现的代码 static void pl011_ ...

  3. cubemx stm32 配置两个串口_STM32CubeMX的串口配置,以及驱动代码

    1.STM32CubeMX的配置没啥子好说的,使能然后改一下波特率和字长,然后在将中断勾选,把中断等级调到1(一定要比systick的优先级垃圾!!!) 2.驱动代码 在生成的it.c文件中,例如用的 ...

  4. NVIDIA Tegra-TK1串口驱动代码初探

    今天大家都在抢iphoen X,我也来强行装一波X,讲讲最近读的TK1串口驱动serial-tegra.c 照旧从驱动的init函数看起.(千万别从头看起) static int __init teg ...

  5. 8088单板机串口驱动代码测试

    1.8088单板机的串口接口电路如下 2.驱动代码 :------------------------------------------------------------------------- ...

  6. Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)

    一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...

  7. c++创建虚拟串口_linux虚拟串口控制器驱动实现——适用于无开发板学习串口驱动...

    在上一章我们已经说明了uart驱动的开发流程,本章我们就不再介绍uart相关的接口实现,仅通过实现一个虚拟的串口控制器程序,用以说明虚拟串口的开发流程. 本次开发的虚拟串口提供的功能如下: 提供两个串 ...

  8. 乐鑫esp8266的串口通讯驱动源文件,nonos和rtos版本

    代码地址如下: http://www.demodashi.com/demo/13650.html 文章目录 一.前言: 二.`esp8266`的串口分布情况: 三.`esp8266`的串口通讯时候,应 ...

  9. linux驱动编写(其他的驱动代码)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] linux里面的代码很多,要全部说完,那是不现实的.在实际工作中,我们基本上需要什么驱动,就移植 ...

最新文章

  1. mongodb索引生成HTML页面,MongoDB高级索引
  2. 带有框架的iOS应用在设备上崩溃,dyld:库未加载,Xcode 6 Beta
  3. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )
  4. 中国计算机学会CCF推荐国际学术会议和期刊目录(PDF版,2015年)
  5. Media Query在SAP Spartacus里的用途
  6. 伽马分布极大似然估计_一文通俗解释极大似然估计
  7. [C++]有关深复制与copy constructor的一些问题与实例
  8. 手游产品经理初探(三)产品中的玩家行为
  9. 推流工具_【软件分享】小熊录屏VIP版(手机直播游戏必备推流工具)
  10. Apollo测试通知登记
  11. 小程序picker下拉框选择时间,只需要年和月
  12. sybase:SQL Exception and Warning Messages大全
  13. 预备作业03 20162311张之睿
  14. 护眼色RGB值和HSV值
  15. Hive return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask.……table could not be cleaned up.
  16. 360 和 qq 之争
  17. PV,V,UV的概念,采集数据
  18. 灯塔资产系统(ARL)部署
  19. 各个等级测试工程师所需的必要技能
  20. 小学一年级计算机社团计划,小学科技兴趣小组活动计划

热门文章

  1. 啤酒每罐2.3元,饮料每罐1.9元
  2. vue axios介绍
  3. Python 具名元组
  4. 常见iOS开发面试题(有10w多访问量的面试题)
  5. 使用 ifconfig 查看本机 ip
  6. debian无法使用ifconfig
  7. 软件工程实训有必要吗_软件工程专业有没有必要考研
  8. 140种Python标准库、第三方库和外部工具
  9. 【奇技淫巧】Linux | 时光之主-date
  10. 【SQL】SQL如何使0值升序排序时排最后