野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14731|回复: 4

流水灯

[复制链接]
发表于 2014-11-24 00:16:30 | 显示全部楼层 |阅读模式
老师们,0X0f之类的是什么意思?还有这个符号  “|=”是什么意思?求老师们讲讲。真心谢谢。
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
{
  uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00;
  uint32_t tmpreg = 0x00, pinmask = 0x00;
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode));
  assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin));  

/*---------------------------- GPIO Mode Configuration -----------------------*/
  currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);(这个代码看不懂)
  if ((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00)
  {
    /* Check the parameters */
    assert_param(IS_GPIO_SPEED(GPIO_InitStruct->GPIO_Speed));
    /* Output mode */
    currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed;
  }


回复

使用道具 举报

发表于 2014-11-24 08:31:24 | 显示全部楼层
0X0F 是十六进制数,换成二进制就是 0000 1111

|= 是C语言中的或运算

你说的这两个都是C语言的知识,你是不是没有学习过C语言啊
回复 支持 反对

使用道具 举报

发表于 2014-11-24 08:50:38 | 显示全部楼层
|= 和 &= 这是先位操作,再赋值。
也可以分开 A = A | B;(A |= B;)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-24 16:07:51 | 显示全部楼层
fire 发表于 2014-11-24 08:31
0X0F 是十六进制数,换成二进制就是 0000 1111

|= 是C语言中的或运算

学过     但是没有见过这种类型  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-24 16:08:23 | 显示全部楼层
Ω囿圉Ω 发表于 2014-11-24 08:50
|= 和 &= 这是先位操作,再赋值。
也可以分开 A = A | B;(A |= B;)

谢谢啊
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 18:40 , Processed in 0.029213 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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