nRF52832的板子,我想让LED2亮怎么写代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nRF52832的板子,我想让LED2亮怎么写代码相关的知识,希望对你有一定的参考价值。

参考技术A 里面的NRF_UART0->BAUDRATE=(UART_BAUDRATE_BAUDRATE_Baud115200<,如AT+.?如果是的话,波特率在uart_init()你说的蓝牙模块是具体哪一款型号呢?串口速率是指的波特率吗,那我在这里就以SKYLABSKB360蓝牙模块为例来说教你怎么去修改,其透传应用时可以用AT指令修改波特率;<.如果是代码层的修改;UART_BAUDRATE_BAUDRATE_Pos),以nordic官方BLE-uart例程来说;里修改波特率。右键gotodefinition就可以找到宏定义本回答被提问者采纳 参考技术B 先确定你的LED2在开发板上对应的GPIO号,然后调用平台的接口操作GPIO口,设置输出拉低或者拉高(取决于led2的相关电路设计是低有效还是高有效led2才工作),这样就可以让led2亮了

我想实现的功能是当按键KEY2按下时,LED2亮(STM32f107开发板),软件运行没错,但是下载后灯不亮

#include "stm32f10x.h"
#include <stdio.h>
void Delay(u32 nCount) //通过不断for循环nCount次,达到延时的目的

for(; nCount != 0; nCount--);

LED_init()

RCC->APB2ENR |= RCC_APB2Periph_GPIOD; /* 使能APB2总线的时钟,对GPIO的端口D时钟使能 */
GPIOD->CRL |= 0x00003000; /*** 设置GPIOD的PD3配置为通用推挽模式输出50MHZ ***/

/*******************************/
void Key_init()

RCC->APB2ENR|=RCC_APB2Periph_GPIOB; //使能PORTB时钟
GPIOB->CRH|=0X00000800;
GPIOB->ODR|=0x00000400; //PB10设置成输入上拉模式

/*******************************/
u8 scan_key(void)//扫描函数

GPIOB->IDR=0x0000FFFF;
if((GPIOB->IDR&GPIO_Pin_10)==0x0000FFBF)
return 2;
else
return 0;

/**********************************/
int main(void)

u8 KeyNum = 0;
LED_init(); //LED初始化配置
Key_init(); //初始化控制按键的PA0端口

while (1)

KeyNum=scan_key();
switch(KeyNum)

case 2: GPIOD->BRR = GPIO_Pin_3;break;
default: GPIOD->BSRR = GPIO_Pin_3;break;


void Key_init()

RCC->APB2ENR|=RCC_APB2Periph_GPIOB; //使能PORTB时钟
GPIOB->CRH|=0X00000800;
GPIOB->ODR|=0x00000400; //PB10设置成输入上拉模式


这个函数中的GPIOB->CRH|=0X00000800; 这句话有问题。我猜想你本来是想把Bit11-8设置成1000,但实际效果并不是,
因为执行该语句只是把Bit11位置1,只是如此。改正方法是:先将Bit11-8清零,再设置。应该这样写: GPIOB->CRH &= 0XFFFFF0FF;GPIOB->CRH |= 0X00000800;或者你就直接赋值GPIOB->CRH=0X00000800; 有些寄存器的复位值并不是0x00000000,所以要注意一下这方面。
参考技术A 不需要这么麻烦的程序吧,我去。。。。
程序貌似没错,你查看下硬件吧,有米有上拉电阻,延时时间够长不,追问

程序是有点长,单个按键的话,可以不写延迟函数。(我是为了再增添其他三个按键才这么写的)我觉得问题是不是出在scan_key这个函数那个地方?就是换成简单的,也是每次都在扫描函数那儿出错(软件可以通过,就是下载下来后在板子上没效果),如果让你写的话,你会怎么写按键扫描那块?注:KEY1-4四个按键分别与PC4、PB10、PC13和PA0四个GPIO管脚连接,现在我只使用按键2

追答

我去,我2了,刚没仔细看,你的break是会跳出循环的,你改成continue试试

追问

不好意思,我试过了,还是不行

参考技术B e bu zhi dao lai zuo ren wu you cuo me ?追问

为什么不打汉字呢?我听不懂

以上是关于nRF52832的板子,我想让LED2亮怎么写代码的主要内容,如果未能解决你的问题,请参考以下文章

nRF52832之硬件I2C

nRF52832之硬件I2C

nRF52832之硬件I2C

为啥很多蓝牙模块厂家选择nRF52832,就因为这5个理由

nrf52832 学习笔记蓝牙主机发现服务

nrf52832几个uart