标签:SCL TypeDef pin 之宏 C语言 SDA I2C port 赋值
今天发现结构体赋值可以用宏定义的办法来赋值
typedef struct { I2C_TypeDef *port; /**< Peripheral port */ GPIO_Port_TypeDef sclPort; /**< SCL pin port number */ uint8_t sclPin; /**< SCL pin number */ GPIO_Port_TypeDef sdaPort; /**< SDA pin port number */ uint8_t sdaPin; /**< SDA pin number */ #if defined(_SILICON_LABS_32B_SERIES_0) uint8_t portLocation; /**< Port location */ #elif defined(_SILICON_LABS_32B_SERIES_1) uint8_t portLocationScl; /**< Port location of SCL signal */ uint8_t portLocationSda; /**< Port location of SDA signal */ #endif uint32_t i2cRefFreq; /**< I2C reference clock */ uint32_t i2cMaxFreq; /**< I2C max bus frequency to use */ I2C_ClockHLR_TypeDef i2cClhr; /**< Clock low/high ratio control */ } I2CSPM_Init_TypeDef;
1 #define I2CSPM_INIT_DEFAULT \ 2 { I2C0, /* Use I2C instance 0 */ \ 3 gpioPortC, /* SCL port */ \ 4 5, /* SCL pin */ \ 5 gpioPortC, /* SDA port */ \ 6 4, /* SDA pin */ \ 7 0, /* Location */ \ 8 0, /* Use currently configured reference clock */ \ 9 I2C_FREQ_STANDARD_MAX, /* Set to standard rate */ \ 10 i2cClockHLRStandard, /* Set to use 4:4 low/high duty cycle */ \ 11 }
这样定义后,结构体就可以这样赋值
I2CSPM_Init_TypeDef I2C_Init = I2CSPM_INIT_DEFAULT;
标签:SCL,TypeDef,pin,之宏,C语言,SDA,I2C,port,赋值 来源: https://www.cnblogs.com/unrivalled/p/15709056.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。