假设spi片选在GPIOA2
当片选cs由上升沿到高电平这个过程或者下降沿到低电平的这个过程。如何触发和检测。
在对GPIOA2应该如何进行初始化。
stm32上升沿或者下降沿之间的转换和配置
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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);读取管脚状态可以了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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软件有没有人能远程安装啊