本帖最后由 ChillYo 于 2024-12-1 16:09 编辑
本帖最后由 ChillYo 于 2024-12-1 15:43 编辑
目标: 实现PB-03F蓝牙模块的点灯操作
0.准备工作
在点灯前,你需准备好以下东西: 1.Keil5 2.PHY62XX SDK 3.PhyPlusKit。
对于Keil5的安装,由于网上教程非常丰富,所以这里就不提了。
然后就是PHY62XX SDK和PhyPlusKit,这些东西可以在下面这个网站上下载
http://www.phyplusinc.com/support/4.html
本篇使用的蓝牙模块是基于PHY6252芯片进行设计的,所以找到这个,然后下载就好了
1. Keil5环境搭建及代码编写
1.1 在上述的材料都安装好后,打开PHY62XX SDK所在的文件夹
然后进入example里面,打开peripheral,打开gpio文件夹,最后打开gpio.uvprojx 即可打开工程文件
1.2 打开工程文件后,点击"魔术棒"
点击C/C++选项,在Preprocessor Symbols处的 Define 那
将CFG_SLEEP_MODE=PWR_MODE_SLEEP改为CFG_SLEEP_MODE=PWR_MOD_NO_SLEEP。
因为芯片休眠了,LED的输出也会关闭。
CFG_SLEEP_MODE=PWR_MODE_SLEEP :使能低功耗模式,固件程序执行过程中,
会在空闲过程进入睡眠,睡眠之后调试器无法进行调试跟踪,断点也失效
CFG_SLEEP_MODE=PWR_MOD_NO_SLEEP :关闭低功耗模式,固件程序执行过
程中,处理器一直处于唤醒状态。
1.3 修改函数
修改gpio_demo.c函数,找到该函数里面的void Key_Demo_Init(uint8 task_id),将整个函数给注释掉。
然后新写1个
void Key_Demo_Init(uint8 task_id)
{
key_TaskID = task_id;// 任务id,先暂时不用管。
// 此写函数默认会调用hal_gpio_pin_init(pin,GPIO_OUTPUT);
hal_gpio_write(GPIO_P18,HAL_HIGH_IDLE); // GPIO18 输出高电平,点亮LED
}
然后点击编译
编译完后会出现警告,一般都是由于没有用到某些函数所致,这里可以忽略掉
对了,记得在魔术棒那设置
在烧录时需要该文件,勾选后,再进行一次编译,以确保HEX文件生成
2. 烧录
开发板连接电脑,打开PhyPlusKit软件(之前下载的)
打开软件后,首先勾选右上区域的UART Setting选项,然后打开你连接开发板对应的端口(我的是COM11),然后将波特率设置成UXTDWU
点击Connect
此时会看到右侧一直输出 UART TX ASCII:UXTDWU。说明开发板连接成功。
长按开发板上边上有RST的复位按键,2秒左右,然后松开
此时右侧会出现下图,且波特率自动变为115200.
烧录前,需先擦除程序,点击Erase
右侧会显示擦除成功。然后点击上图红圈中APP右侧白色方框,双击,选择后缀为hex目标文件(编译生成的固件在bin目录下)
然后点击Write,进行烧录
若右侧区域显示
则代表烧录成功
烧录成功后,拔掉开发板的线,然后再接上,此时开发板的RGB灯被点亮,为蓝色。
目标完成