OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4206|回复: 3

请大侠指点迷津,感激不尽!

[复制链接]

3

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-4-12
在线时间
3 小时
发表于 2017-5-13 15:34:47 | 显示全部楼层 |阅读模式
1金钱
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
{
  uint32_t tmpreg = 0x00, apbclock = 0x00;
  uint32_t integerdivider = 0x00;
  uint32_t fractionaldivider = 0x00;
  uint32_t usartxbase = 0;
  RCC_ClocksTypeDef RCC_ClocksStatus;
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_USART_BAUDRATE(USART_InitStruct->USART_BaudRate));  
  assert_param(IS_USART_WORD_LENGTH(USART_InitStruct->USART_WordLength));
  assert_param(IS_USART_STOPBITS(USART_InitStruct->USART_StopBits));
  assert_param(IS_USART_PARITY(USART_InitStruct->USART_Parity));
  assert_param(IS_USART_MODE(USART_InitStruct->USART_Mode));
  assert_param(IS_USART_HARDWARE_FLOW_CONTROL(USART_InitStruct->USART_HardwareFlowControl));
各位大侠请看红色部分我的理解是分别定义两个指向typedef struc结构的指针,
USARTx指向
typedef struct
{
  __IO uint16_t SR;
  uint16_t  RESERVED0;
  __IO uint16_t DR;
  uint16_t  RESERVED1;
  __IO uint16_t BRR;
  uint16_t  RESERVED2;
  __IO uint16_t CR1;
  uint16_t  RESERVED3;
  __IO uint16_t CR2;
  uint16_t  RESERVED4;
  __IO uint16_t CR3;
  uint16_t  RESERVED5;
  __IO uint16_t GTPR;
  uint16_t  RESERVED6;
} USART_TypeDef;


USART_InitStruct指向

typedef struct
{
  uint32_t USART_BaudRate;        
  uint16_t USART_WordLength;                        
  uint16_t USART_StopBits;                           
  uint16_t USART_Parity;            
  uint16_t USART_Mode;                             
  uint16_t USART_HardwareFlowCon;                       
} USART_InitTypeDef;

但是为什么在使用这个函数时void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)第一个参数直接输入,但是第二个需要定义一个结构体再使用。我不明白这两个参数都是指向结构体的指针,为什么第一参数不用新定义一个结构体,而第二个需要定义新的结构体。
最后再谢谢大家的耐心解答
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-4-24
在线时间
28 小时
发表于 2017-5-13 15:59:33 | 显示全部楼层
标题名字起的真是随心所欲大法。
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-4-12
在线时间
3 小时
 楼主| 发表于 2017-5-13 19:36:03 | 显示全部楼层
yklstudent 发表于 2017-5-13 17:38
读是结构体,有什么好奇怪的

但是函数的第一个参数定义的也是指向结构体但是使用时没用定义新的结构体,而第二个参数却定义了这是为什么?
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-4-12
在线时间
3 小时
 楼主| 发表于 2017-5-25 15:10:12 | 显示全部楼层
谢谢啊
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 06:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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