1、概述
国芯的CCFC2017BC适用场景主要在汽车控制和工业控制方面,它是一款主频为300MHZ、PowerPC架构的32位单核微处理器,对标竞品是NXP的 MPC5744。本文主要是介绍GPIO的基本内容。
2、System Integration Unit Lite(SIUL)
这里的SIU也就是对MCU的GPIO配置,首先要找到PIN MAP了解各个引脚的支持的功能。
2.1 初始化配置
至于怎么配置这些引脚的功能,此款芯片常采用的还是直接对寄存器进行配置,查看芯片手册找到了GPIO口的地址和相关功能信息
字段 | 功能描述 |
---|---|
SMC (Safe Mode Control) | 支持在设备进入安全模式时覆盖自动禁用引脚输出缓冲区的功能:0 : 在安全模式下,输出缓冲区被禁用。1 : 在安全模式下,输出缓冲区保持功能正常。 |
APC (Analog Pad Control) | 使能引脚作为模拟输入的使用0 : 模拟输入路径被关闭,无法使用。1 : 可以通过ADC启用模拟输入路径开关。 |
PA[1:0] (Pad Output Assignment) | 选择允许驱动多路复用引脚输出的功能:00 : 备用模式0 — GPIO01 : 备用模式1 — 详见信号描述章节10 : 备用模式2 — 详见信号描述章节11 : 备用模式3 — |
OBE (Output Buffer Enable) | 在引脚处于GPIO模式时使能输出缓冲区:0 : 当 PA[1:0] = 00 时,输出缓冲区被禁用。1 : 当 PA[1:0] = 00 时,输出缓冲区被使能。 |
IBE (Input Buffer Enable) | 使能引脚的输入缓冲区:0 : 输入缓冲区被禁用。1 : 输入缓冲区被使能。 |
ODE (Open Drain Output Enable) | 控制连接到该信号的引脚的输出驱动配置,可以选择开漏或推挽驱动配置,仅适用于输出引脚:0 : 引脚配置为推挽输出。1 : 引脚配置为开漏输出。 |
SRC (Slew Rate Control) | 控制相关引脚的爬升/下降速率:0 : 引脚配置为慢速(默认)。1 : 引脚配置为中速或快速(取决于引脚)。 |
WPE (Weak Pull Up/Down Enable) | 控制连接到该信号的引脚的弱上拉/下拉设备的启用/禁用: 0 : 禁用弱上拉/下拉设备。1 : 启用弱上拉/下拉设备。 |
WPS (Weak Pull Up/Down Select) | 控制弱上拉或弱下拉设备的选择:0 : 选择弱下拉。1 : 选择弱上拉。 |
这里主要是要注意这几个字段
a、APC :adc采集开关,本字段置1表示使能该IO的adc功能
b、PA[1:0]:功能复用选择,对应图1的AF0、AF1、AF2、AF3
c、OBE:是否使能该IO口为输出功能
d、IBE:是否使能该IO口为输入功能
3、DI
SIU配置如下
/*接口函数*/
uint8_t get_siu_gpio_state(uint16_t channel)
{
return SIU.SIU_GPDI[channel].F.PDI;
}
/*获取输入状态 PCR[134]*/
GPIO_di_data_buff[0] = get_siu_gpio_state(134);
4、DOU
SIU配置如下
/*接口函数*/
void set_siu_gpio_state(uint16_t channel,uint8_t state)
{
SIU.SIU_GPDO[channel].F.PDO = state;
}
/*设置输出电平 PCR[85]*/
set_siu_gpio_state(85,1);;
NOTE:本文主要是工作学习中日常知识点记录,有不对之处,烦请及时指出。