完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先看我写的代码,为了简化函数,将几项进行固定,speed,初始电平,上下拉全部固定,因此我们的GPIO初始化函数的参数只有两个,port ,pin_num.经过设置以后通过ODR可以控制io口的电平。同时我在程序中参考了原子的程序,实现了位带操作。简化了程序。
#include "GPIO.h" /**************************************************** *函数名: *参数: *返回值: *说明: *****************************************************/ void GPIO_Set_Out(GPIO_TypeDef *GPIO_Port,uint8_t GPIO_Pin_Num) { RCC->AHB1ENR |= 1<<1; GPIO_Port->MODER &= ~(3<<(GPIO_Pin_Num*2)); GPIO_Port->MODER |= 1<<(GPIO_Pin_Num*2); GPIO_Port->OTYPER &= ~(1< GPIO_Port->OSPEEDR |= 3<<(GPIO_Pin_Num*2); GPIO_Port->PUPDR &= ~(3<<(GPIO_Pin_Num*2)); GPIO_Port->PUPDR |= 0<<(GPIO_Pin_Num*2); GPIO_Port->ODR &= 0<
|
|
相关推荐
|
|
使用stm32l451片子,对ad7606进行3通道100k采样值跳动问题?
884 浏览 1 评论
STM32进行DMA数据转运,为什么只有A组最后一位数据被转运到B组去?
1429 浏览 2 评论
1748 浏览 3 评论
1348 浏览 0 评论
嵌入式开发 Win11安装ST-Link 提示 设备描述符请求失败 怎么处理?
1476 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-22 17:47 , Processed in 0.599275 second(s), Total 74, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191