在线时间400 小时
UID2075309
注册时间2014-2-25
NXP金币83
TA的每日心情 | 开心 2019-10-17 08:07 |
---|
签到天数: 273 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 7508
- 最后登录
- 2021-8-30
|
LPC824的矩阵功能确实好用,玩PWM想可以随便配置输出,给你看看配置程序:
static am_lpc82x_sct_pwm_ioinfo_t __g_sct0_pwm_ioinfo_list[] = {
/** \brief 输出0 */
{PIO0_7, PIO_FUNC_SCT_OUT0, PIO0_27_GPIO | PIO0_7_GPIO_OUTPUT_INIT_HIGH},
/** \brief 输出1 */
{PIO0_13, PIO_FUNC_SCT_OUT1, PIO0_13_GPIO | PIO0_13_GPIO_OUTPUT_INIT_HIGH},
/** \brief 输出2 */
{PIO0_16, PIO_FUNC_SCT_OUT2, PIO0_16_GPIO | PIO0_16_GPIO_OUTPUT_INIT_HIGH},
/** \brief 输出3 */
{PIO0_17, PIO_FUNC_SCT_OUT3, PIO0_17_GPIO | PIO0_17_GPIO_OUTPUT_INIT_HIGH},
/** \brief 输出4 */
{PIO0_19, PIO_FUNC_SCT_OUT4, PIO0_19_GPIO | PIO0_19_GPIO_OUTPUT_INIT_HIGH},
/** \brief 输出5 */
{PIO0_27, PIO_FUNC_SCT_OUT5, PIO0_27_GPIO | PIO0_27_GPIO_OUTPUT_INIT_HIGH},
};
可以随意配置通道使用哪个IO口输出,以后画板子布线就容易多了
接着初始化PWM,暂时就不做呼吸灯了,每路都是固定的频率和占空比:
am_pwm_config(sct_pwm_handle, 0, 250000/2, 250000);
am_pwm_enable(sct_pwm_handle, 0);
am_pwm_config(sct_pwm_handle, 1, 250000/4, 250000);
am_pwm_enable(sct_pwm_handle, 1);
am_pwm_config(sct_pwm_handle, 2, 250000/8, 250000);
am_pwm_enable(sct_pwm_handle, 2);
am_pwm_config(sct_pwm_handle, 3, 250000/16, 250000);
am_pwm_enable(sct_pwm_handle, 3);
am_pwm_config(sct_pwm_handle, 4, 250000/32, 250000);
am_pwm_enable(sct_pwm_handle, 4);
am_pwm_config(sct_pwm_handle, 5, 250000/64, 250000);
am_pwm_enable(sct_pwm_handle, 5);
下面再加个闪灯,当运行指示:
while (1) {
am_led_toggle(LED7);
am_mdelay(200);
}
真像在这里:
下面是波形图,一只手测量,另外一支手拍照真不容易
备注一下:
源程序请看ametal_am824_core_1.02中的
ametal_am824_core_1.02\projects_keil5\examples_sct\demo_lpc82x_std_sct_pwm
例程在这里可以下载:
【LPC分享】LPC824例程及教程
https://www.nxpic.org.cn/module/ ... amp;fromuid=2075309
(出处: 恩智浦技术社区)
|
|