使用编译器环境:KEIL5.38A 一根MicUSB线。
实验目标:Raspberry Pi Pico板载的LED灯,以100ms的时间闪烁。
一:keil5软件增加编译环境
目的:使用mdk(keil5)编译环境,调试Raspberry Pi Pico开发板
1.1 安装pack支持包

1.2 正常安装支持包后,可以在软件代码中的device中看到下图所示的代码

1.1 打开软件代码,编译一下:效果如下:

可以看到软件代码可以正常编译通过,警告暂时不需要考虑。
二:硬件部分

板载的LED灯引脚连接至GPIO25,编译驱动Raspberry Pi Pico上的GPIO引脚,从而点亮LED灯的闪烁,当引脚置高时,可以点亮LED灯,当引脚置低时,熄灭LED灯。
三:软件部分:
3.1 利用GPIO,延时函数操作LED闪烁
void LED_init(){
gpio_init(PICO_LED_PIN);gpio_set_dir(PICO_LED_PIN, GPIO_OUT);
}
void LED_ON(){gpio_put(PICO_LED_PIN, 0);}
void LED_OFF(){gpio_put(PICO_LED_PIN, 1);}主程序
while (true)
{
LED_ON();
MY_DEV_Delay_ms(100);
LED_OFF();
MY_DEV_Delay_ms(100);
}实验效果如下:

3.2 利用PWN输出方式控制LED的亮度
脉冲调制技术:脉宽调制(Pulse-Width Modulation,PWM)是利用微处理器的数字输出,来对模拟电路进行控制的一种非常有效的技术,通过对一系列脉冲的宽度进行调制,来等效的获得所需要的波形(含形状和幅值),即通过改变导通时间占总时间的比例,也就是占空比,达到调整电压和频率的目的。
软件调试步骤:
步骤1:配置IO口的工作模式
步骤2:配置定时器的模式,设置成PWM功能
步骤3:设置分频器和比较值的初值。
步骤4:利用系统延时延时Delay(当然做项目时候,不要使用delay延时函数)
软件代码如下:
PWM参数初始化:
gpio_set_function(PICO_LED_PIN, GPIO_FUNC_PWM); my_slice_num = pwm_gpio_to_slice_num(PICO_LED_PIN); pwm_set_wrap(my_slice_num, 1000); pwm_set_chan_level(my_slice_num, PWM_CHAN_B, 1); pwm_set_clkdiv(my_slice_num,50); pwm_set_enabled(my_slice_num, true);
设置PWM的占空比:
void my_SET_PWM(uint16_t Value)
{
if(Value<0 || Value >1000){
pwm_set_chan_level(my_slice_num, PWM_CHAN_B, 500);
}else
{
pwm_set_chan_level(my_slice_num, PWM_CHAN_B, Value);
}
}主函数
my_pwm_init();
while(1)
{
my_SET_PWM(value);
MY_DEV_Delay_ms(500);
value = value+100 ;
if(value>=1000)
value = 100 ;
}四 程序下载指导
4.1 keil5编译完成后,生成的下载文件 uf2

下载时候 我们需要按住boot按键后,将USB口插入到电脑中,当电脑识别到127M的RPI-RP2 U盘时,才可以松开boot按键引脚;

将下载文件下载到U盘里面即可。
下载完成后,U盘 盘符消失,程序自动运行。
基本的程序下载就是这样,学习到了使用mdk开发Raspberry Pi Pico的基本操作,例如GPIO操作和PWM输出功能,在接下来学习驱动墨水屏的过程。
我要赚赏金
