完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
23个回答
|
|
移位你们都看的吃力,直接赋值岂不是更看不懂。
|
|
|
|
/**
* @简述通用的输入和输出。 (GPIO) */ typedef struct { /*!< GPIO结构 */ __I uint32_t RESERVED0[321]; //保留位 __IO uint32_t OUT; /*!< 引脚输出值。 */ __IO uint32_t OUTSET; /*!< 置位某个引脚。 */ __IO uint32_t OUTCLR; /*!< 复位某个引脚。 */ __I uint32_t IN; /*!< 获取GPIO引脚点平。 */ __IO uint32_t DIR; /*! __IO uint32_t PIN_CNF[32]; /*!< 配置GPIO引脚。 */ } NRF_GPIO_Type; //起始地址0x50000000UL #define NRF_GPIO_BASE 0x50000000UL //基地址 #define NRF_GPIO ((NRF_GPIO_Type *) NRF_GPIO_BASE)//开辟空间 //在0x50000000UL 的地址上建立 NRF_GPIO_Type的结构体 定义为 NRF_GPIO 以上翻译的nrf51.h在QQ750273008日志->蓝牙->nrf51822模块 这里我们讲几点关键的: 1第一次用引脚必须对该引脚配置 :比如p0.16这个按钮 NRF_GPIO->PIN_CNF[16]= (0 << 0) //引脚方向 0为输入, 1为输出 | (0 << 1) //写1断开缓冲,写0连上 | (3 << 2) //13k内置电阻,00无拉,01下拉电阻,10保留,11上拉电阻。 | (4 << 8) //设置驱动强度000是最弱,我输出用011 我输入用100 | (3 <<16); //10是上升沿触发,11下降沿触发 |
|
|
|
谢谢!
|
|
|
|
2配置好了引脚就可以使用这个引脚了。
NRF_GPIO->OUT=0x0000 0000; //如果这32个脚都配置输出,就代表p0.31到p0.0都是低电平 NRF_GPIO->OUT=0x0000 00FF; //表示p0.7到p0.0是高电平,其他都是低电平。 NRF_GPIO->OUTSET= 0x0000 00FF; //表示只把 p0.7到p0.0电平拉高,其他脚电平不变(写1有效,写0无效) NRF_GPIO->OUTCLR= 0x0000 00FF; //表示只把 p0.7到p0.0电平拉低,其他脚电平不变 (写1有效,写0无效) num=NRF_GPIO->IN; //表示读出32脚电平的值给变量num NRF_GPIO->DIR=0x0000 00FF; //表示把 p0.7到p0.0设置输出状态,其他脚设置为输入 NRF_GPIO->DIRSET= 0x0000 00FF; //表示只把 p0.7到p0.0设置输出状态,其他脚不变(写1有效,写0无效) NRF_GPIO->DIRCLR= 0x0000 00FF; //表示只把 p0.7到p0.0设置输入状态,其他脚不变(写1有效,写0无效) |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2550 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2335 浏览 5 评论
3166 浏览 3 评论
2807 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2767 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
618浏览 1评论
863浏览 0评论
975浏览 0评论
630浏览 0评论
457浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 23:54 , Processed in 1.070044 second(s), Total 54, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号