婆娑梵净山 2023-12-20 01:26 采纳率: 89.5%
浏览 12
已结题

stm32上升沿或者下降沿之间的转换和配置

假设spi片选在GPIOA2
当片选cs由上升沿到高电平这个过程或者下降沿到低电平的这个过程。如何触发和检测。
在对GPIOA2应该如何进行初始化。

  • 写回答

2条回答 默认 最新

  • Dieu_qiu 2023-12-20 08:51
    关注

    如果你用的是标准库,那么就是下面这样做
    首先来说初始化吧,首先得打开apb时钟,不然管脚不会运行,然后配置初始化结构体,然后运行初始化函数:

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO, ENABLE);//打开时钟
        
        GPIO_InitTypeDef GPIO_InitStructure; //初始化结构体
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //这里配置为上拉输入了
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //你所配置的管脚号
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置管脚速度,没要求的话默认50MHz就行
        GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化函数
    
    

    其次就是检测管脚是否为高电平还是低电平,使用GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2)这个函数就可以读取管脚状态,你要改变管脚状态可以使用GPIO_SetBits(GPIOA, GPIO_Pin_2);置高位,GPIO_ResetBits(GPIOA, GPIO_Pin_2);置低位,你控制片选信号线就可以使用这两个函数,然后用GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2);读取管脚状态可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 修改了问题 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 asp写PC网站开通了微信支付,扫码付款不能跳转
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊