找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2025|回复: 9
收起左侧

哪位老师帮忙看看这句C语言PCA_InitTypeDef 我没看懂

[复制链接]
ID:230742 发表于 2021-9-24 00:16 | 显示全部楼层 |阅读模式
结构体的定义如下。我记得名字是PCA_InitTypeDef

typedef struct
{
        u8        PCA_IoUse;        //PCA_P12_P11_P10_P37, PCA_P34_P35_P36_P37, PCA_P24_P25_P26_P27
        u8        PCA_Clock;        //PCA_Clock_1T, PCA_Clock_2T, PCA_Clock_4T, PCA_Clock_6T, PCA_Clock_8T, PCA_Clock_12T, PCA_Clock_Timer0_OF
        u8        PCA_Mode;        //PCA_Mode_PWM, PCA_Mode_Capture, PCA_Mode_SoftTimer, PCA_Mode_HighPulseOutput
        u8        PCA_PWM_Wide;        //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit
        u8        PCA_Interrupt_Mode;        //PCA_Rise_Active, PCA_Fall_Active, ENABLE, DISABLE
        u8        PCA_Polity;        //优先级设置        PolityHigh,PolityLow
        u16        PCA_Value;
        u8        PCA_RUN;        //ENABLE, DISABLE
} PCA_InitTypeDef;

void        PCA_config(void)
{
        PCA_InitTypeDef                PCA_InitStructure;

        PCA_InitStructure.PCA_Clock    = PCA_Clock_1T;                //PCA_Clock_1T, PCA_Clock_2T, PCA_Clock_4T, PCA_Clock_6T, PCA_Clock_8T
        PCA_InitStructure.PCA_IoUse    = PCA_P24_P25_P26_P27;        //PCA_P12_P11_P10_P37, PCA_P34_P35_P36_P37, PCA_P24_P25_P26_P27
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //ENABLE, DISABLE
        PCA_InitStructure.PCA_Polity   = PolityLow;                        //优先级设置        PolityHigh,PolityLow
        PCA_InitStructure.PCA_RUN      = DISABLE;                        //ENABLE, DISABLE
        PCA_Init(PCA_Counter,&PCA_InitStructure);


初始化的时候    PCA_InitTypeDef                PCA_InitStructure;这句是什么意思呢?

另外PCA_InitStructure.PCA_IoUse    = PCA_P24_P25_P26_P27;这个赋值为什么是这么写的?

谢谢大家了。
回复

使用道具 举报

ID:123289 发表于 2021-9-24 07:57 | 显示全部楼层
每一句都是一个子程序。
你借用了别人的程序,当然需要看程序的说明。
去源头找找看。

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 很给力!

查看全部评分

回复

使用道具 举报

ID:359272 发表于 2021-9-24 08:22 | 显示全部楼层
1.PCA_InitStructure是结构体PCA_InitTypeDef的变量,名字可以自己定义.
2.PCA_P24_P25_P26_P27这个赋值头文件或者前面应该有定义说明,可以搜索下.

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 很给力!

查看全部评分

回复

使用道具 举报

ID:844772 发表于 2021-9-24 08:33 | 显示全部楼层
slf252 发表于 2021-9-24 08:22
1.PCA_InitStructure是结构体PCA_InitTypeDef的变量,名字可以自己定义.
2.PCA_P24_P25_P26_P27这个赋值头 ...

同意并补充一下:
#define        PCA_P12_P11_P10_P37        (0<<4)
#define        PCA_P34_P35_P36_P37        (1<<4)
#define        PCA_P24_P25_P26_P27        (2<<4)

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 赞一个!

查看全部评分

回复

使用道具 举报

ID:967904 发表于 2021-9-24 09:59 | 显示全部楼层
初始化的时候  按PCA_InitTypeDef结构体类型 初始化一个PCA_InitStructure的变量。PCA_P24_P25_P26_P27应该是有宏定义的你查查它的宏定义

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 赞一个!

查看全部评分

回复

使用道具 举报

ID:230742 发表于 2021-9-24 12:27 | 显示全部楼层
slf252 发表于 2021-9-24 08:22
1.PCA_InitStructure是结构体PCA_InitTypeDef的变量,名字可以自己定义.
2.PCA_P24_P25_P26_P27这个赋值头 ...

谢谢。我搜索到了。
#define        PCA_P24_P25_P26_P27        (2<<4)
这里是有宏定义。但(2<<4)是什么意思呢?
能简单说一下吗?谢谢。
回复

使用道具 举报

ID:230742 发表于 2021-9-24 12:27 | 显示全部楼层
glinfei 发表于 2021-9-24 08:33
同意并补充一下:
#define        PCA_P12_P11_P10_P37        (0

谢谢。我找到了。
#define        PCA_P24_P25_P26_P27        (2<<4)
这里是有宏定义。但(2<<4)是什么意思呢?
能简单说一下吗?谢谢。
回复

使用道具 举报

ID:514901 发表于 2021-9-24 13:53 | 显示全部楼层
PCA_InitTypeDef是结构体声明,PCA_InitStructure是PCA_InitTypeDef类型的变量,就像你定义int a;a是int类型的变量

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 很给力!

查看全部评分

回复

使用道具 举报

ID:514901 发表于 2021-9-24 13:55 | 显示全部楼层
啤酒瓶子老大 发表于 2021-9-24 12:27
谢谢。我搜索到了。
#define        PCA_P24_P25_P26_P27        (2

2<<4的意思是2左移四位,不好理解的话你就当成2乘以2的四次方

评分

参与人数 1黑币 +15 收起 理由
啤酒瓶子老大 + 15 很给力!

查看全部评分

回复

使用道具 举报

ID:968007 发表于 2021-9-24 16:55 | 显示全部楼层
2<<4的意思2乘以2的四次方
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表