树莓派教程 - 1.1 树莓派GPIO库wiringPi 硬件PWM可调频率

Git例程源码仓库https://github.com/ZhiliangMa/raspberry.git

使用到的硬件:

led,200Ω左右的电阻、杜邦线。

 

上一节使用最基本的 GPIO数字输出,led亮了,可如果想要调整led亮度怎么办?

PWM简介

PWM脉宽调制技术广泛存在于现实生活中,例如TFT显示屏的背光亮度调整,电机的速度控制,开关电源输出电压的控制。

相比于早期的线性调制,PWM具有效率高、电路简单等优点。

图中a)可以类比于灯的亮度/电机的速度/电源输出的电压,b)就对应为PWM的脉冲宽度。

如果想要灯变亮一些,就增大PWM的占空比;如果想要灯暗一些,就减小PWM的占空比。

 

树莓派的硬件PWM

树莓派的硬件pwm只有l路,也就是 物理引脚的12引脚,wiringPi引脚的1引脚

树莓派内部pwm发生器的基频为19.2MHz,输出频率 freq(Hz) = 19200000 / divisor / range

使用到的函数

函数语句函数功能
wiringPiSetup();使用wiring编码去初始化GPIO序号
pinMode(int pin, int mode);设置GPIO电气属性
pwmSetRange(unsigned int range);设置pwm脉宽范围,range与divisor共同决定pwm输出频率
pwmSetClock(int divisor);设置pwm分频系数,range与divisor共同决定pwm输出频率
pwmWrite(int pin, int value);输出pwm值,到pwm引脚
delay(unsigned int howLong);延时 xx ms

c代码:

Git例程源码仓库https://github.com/ZhiliangMa/raspberry.git

wiringPi编码的1引脚,led亮度渐变。

#include <wiringPi.h>

int hpwmLed = 1;                    // 定义使用wiringPi编码的1引脚
int main(void)
{
    int xnum = 0;
    wiringPiSetup();                // 使用wiring编码去初始化GPIO序号
    pinMode(hpwmLed, PWM_OUTPUT);   // 设置GPIO电气属性为pwm输出
    pwmSetRange(1024);              // pwm脉宽范围 0~1024
    pwmSetClock(75);                // 250Hz,19.2MHz / 75 / 1024 = 250Hz
    while(1)
    {
        for(xnum = 0; xnum <= 1024; xnum++)
        {
            pwmWrite(hpwmLed,xnum);
            delay(2);               // 延时2ms
        }
    }
    return 0;
}

 

### 回答1: 树莓派Pico是树莓派推出的一款微型电脑,Pico中文版是针对中国市场推出的版本。Pico-Python-SDK是树莓派官方提供的软件开发工具包,用于编写和运行Python程序。Pico-Python-SDK中文版是根据中国用户的需求进行本土化开发的版本。 树莓派Pico是一款体积小巧但功能强大的微型电脑,搭载了ARM Cortex-M0+处理器和26个GPIO口,可用于连接各种传感器、执行各种控制任务。同时,Pico支持MicroPython和C/C++两种编程语言,非常适合初学者和嵌入式系统开发人员。 Pico-Python-SDK中文版是官方提供的软件开发工具包,它提供了一系列的API和函数,可以帮助开发者更方便地编写和调试Python程序。无论是控制外部硬件设备还是实现各种功能,Pico-Python-SDK都提供了丰富的功能和示例代码,使开发工作更加便捷。 Pico-Python-SDK中文版还提供了中文文档和教程,有助于开发者更快速地上手。通过学习这些文档和教程,开发者可以了解Pico的基本原理、功能特性以及编程方法,从而高效地开发出各种应用。 总的来说,树莓派Pico-Python-SDK中文版为中国用户提供了一个方便、易用的软件开发平台,帮助开发者快速上手并实现各种创意和项目。无论是学习编程还是进行嵌入式系统开发,Pico-Python-SDK中文版都是一个不错的选择。 ### 回答2: 树莓派pico-python-sdk-中文版是为了方便中国开发者使用而推出的一款软件开发工具包。它是基于树莓派pico微控制器设计的,通过使用Python语言进行开发。该SDK提供了丰富的功能和接口,使得使用者能够轻松地进行树莓派pico的开发工作。 树莓派pico-python-sdk-中文版包含了各种模块和,如GPIOPWM、I2C、SPI等,这些可以帮助开发者通过编写Python代码来操控各种外设和传感器。例如,使用GPIO可以控制LED灯的开关,使用PWM可以控制舵机的转动,使用I2C可以与其他设备进行通信,使用SPI可以实现高速数据传输等等。 此外,树莓派pico-python-sdk-中文版还提供了丰富的示例代码和文档,帮助开发者快速上手。开发者可以参考这些示例代码和文档,了解如何使用SDK中的功能和接口,从而加速自己的开发进程。 总之,树莓派pico-python-sdk-中文版是一款功能强大、易于学习和使用的软件开发工具包。它不仅方便中国开发者使用树莓派pico进行开发工作,还提供了丰富的功能和接口,使得开发者能够更加便捷地实现各种应用和项目。无论是初学者还是有经验的开发者,都可以通过使用这个SDK来实现自己的创意和想法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值