/*STC32G_GPIO.h
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu,06/23/2022
*/
#include "STC32G_GPIO.h"
//*********************************************************************************************************************************************
void STC32G_P0SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P0M1 &= ~pins;
P0M0 &= ~pins;
break;
case PP_OUT:
P0M1 &= ~pins;
P0M0 |= pins;
break;
case HI_IN:
P0M1 |= pins;
P0M0 &= pins;
break;
case ODR_OUT:
P0M1 |= pins;
P0M0 |= pins;
break;
}
}
//End of STC32G_P0SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P1SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P1M1 &= ~pins;
P1M0 &= ~pins;
break;
case PP_OUT:
P1M1 &= ~pins;
P1M0 |= pins;
break;
case HI_IN:
P1M1 |= pins;
P1M0 &= pins;
break;
case ODR_OUT:
P1M1 |= pins;
P1M0 |= pins;
break;
}
}
//End of STC32G_P1SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P2SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P2M1 &= ~pins;
P2M0 &= ~pins;
break;
case PP_OUT:
P2M1 &= ~pins;
P2M0 |= pins;
break;
case HI_IN:
P2M1 |= pins;
P2M0 &= pins;
break;
case ODR_OUT:
P2M1 |= pins;
P2M0 |= pins;
break;
}
}
//End of STC32G_P2SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P3SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P3M1 &= ~pins;
P3M0 &= ~pins;
break;
case PP_OUT:
P3M1 &= ~pins;
P3M0 |= pins;
break;
case HI_IN:
P3M1 |= pins;
P3M0 &= pins;
break;
case ODR_OUT:
P3M1 |= pins;
P3M0 |= pins;
break;
}
}
//End of STC32G_P3SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P4SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P4M1 &= ~pins;
P4M0 &= ~pins;
break;
case PP_OUT:
P4M1 &= ~pins;
P4M0 |= pins;
break;
case HI_IN:
P4M1 |= pins;
P4M0 &= pins;
break;
case ODR_OUT:
P4M1 |= pins;
P4M0 |= pins;
break;
}
}
//End of STC32G_P4SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P5SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P5M1 &= ~pins;
P5M0 &= ~pins;
break;
case PP_OUT:
P5M1 &= ~pins;
P5M0 |= pins;
break;
case HI_IN:
P5M1 |= pins;
P5M0 &= pins;
break;
case ODR_OUT:
P5M1 |= pins;
P5M0 |= pins;
break;
}
}
//End of STC32G_P5SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P6SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P6M1 &= ~pins;
P6M0 &= ~pins;
break;
case PP_OUT:
P6M1 &= ~pins;
P6M0 |= pins;
break;
case HI_IN:
P6M1 |= pins;
P6M0 &= pins;
break;
case ODR_OUT:
P6M1 |= pins;
P6M0 |= pins;
break;
}
}
//End of STC32G_P6SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P7SetMode(ui8 pins, STC32G_IOMODE mode)
{
switch(mode)
{
case BI_IO:
P7M1 &= ~pins;
P7M0 &= ~pins;
break;
case PP_OUT:
P7M1 &= ~pins;
P7M0 |= pins;
break;
case HI_IN:
P7M1 |= pins;
P7M0 &= pins;
break;
case ODR_OUT:
P7M1 |= pins;
P7M0 |= pins;
break;
}
}
//End of STC32G_P7SetMode(ui8 pins, STC32G_IOMODE mode)
//*********************************************************************************************************************************************
void STC32G_P0PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P0PU |= pins;
else
P0PU &= ~pins;
}
//End of STC32G_P0PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P1PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P1PU |= pins;
else
P1PU &= ~pins;
}
//End of STC32G_P1PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P2PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P2PU |= pins;
else
P2PU &= ~pins;
}
//End of STC32G_P2PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P3PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P3PU |= pins;
else
P3PU &= ~pins;
}
//End of STC32G_P3PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P4PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P4PU |= pins;
else
P4PU &= ~pins;
}
//End of STC32G_P4PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P5PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P5PU |= pins;
else
P5PU &= ~pins;
}
//End of STC32G_P5PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P6PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P6PU |= pins;
else
P6PU &= ~pins;
}
//End of STC32G_P6PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P7PU(ui8 pins, BOOL pullUpEnable)
{
//SysInit();
if(pullUpEnable)
P7PU |= pins;
else
P7PU &= ~pins;
}
//End of STC32G_P7PU(ui8 pins, BOOL pullUpEnable)
//*********************************************************************************************************************************************
void STC32G_P0PD(ui8 pins, BOOL pullDownEnable)
{
//SysInit();
if(pullDownEnable)
P0DR |= pins;
else
P0DR &= ~pins;
}
//End of STC32G_P0PD(ui8 pins, BOOL pullDownEnable)
//*********************************************************************************************************************************************
void STC32G_P1PD(ui8 pins, BOOL pullDownEnable)
{
//SysInit();
if(pullDownEnable)
P1DR |= pins;
else
P1DR &= ~pins;
}
//End of STC32G_P1PD(ui8 pins, BOOL pullDownEnable)
//*********************************************************************************************************************************************
void STC32G_P2PD(ui8 pins, BOOL pullDownEnable)
{
//SysInit();
if(pullDownEnable)
P3DR |= pins;
else
P3D
没有合适的资源?快使用搜索试试~ 我知道了~
STC32G系列单片机定时器及串行通信接口函数库(非官方函数库)

共76个文件
obj:12个
crf:12个
h:10个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉

温馨提示
本压缩包包含STC32G系列单片机头文件,GPIO、定时器、串口通信非官方函数库。库中简单的寄存器操作使用的宏函数,较复杂的操作使用函数实现。该函数库注释清楚明了,使用方便。如:void Uart1_Init(UART_MODE mode,PIN_GROUP pGroup, BOOL selT2, ui32 baudrate);仅从韩数参数名称,就可看出函数如何使用。在头文件中将函数的调用状态从函数的声明中剥离出来放在/**/中,要使用库函数仅需简单的复制粘贴。如果要以可变波特率8位数据,管脚选用P3.0/P3.1,T2做波特率发生器,波特率9600初始化串口1,仅需下面一行代码:Uart1_Init(VBAUD_8BITS,G1, 1, 9600); 已经实现了串口的初始化。剩下就是收发数据。如要发送“Hello world”字符串,仅用下面一行代码即可。Uart1_SendString(“Hello world”);
资源推荐
资源详情
资源评论






























收起资源包目录























































































共 76 条
- 1

Bill66
- 粉丝: 6591
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络营销计划书格式.docx
- 工程项目管理的主要内容概述论文.doc
- 企业网络营销推广方案.doc
- 最新旅游网站策划书方案(15篇).docx
- 网络产品代理协议.doc
- 计算机网络课程设计-词法分析器.docx
- 基于单片机的无线语音多功能呼叫机的设计与实现正文.doc
- 新教材高中英语Unit5RevealingnatureSectionⅢDevelopingideas.doc
- 生产线自动装箱的PLC控制7.doc
- 放大转发协议下的通信系统的性能分析以及中继选择方案的分析的性能分析以.doc
- 智慧城市PPT模板.pptx
- 软件产业基地A办公楼装修工程施工组织设计方案.doc
- DreamweaverCS5网页制作高级案例教程项目一.pptx
- 网络营销软件代理销售协议书.docx
- 中国电子商务的发展前景分析.doc
- 移动网络终端安全接入问题研究的论文.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
前往页