You need to enable JavaScript to run this app. LPC18S37(TFBGA100)自定义板SCU与GPIO引脚配置咨询
优惠活动
大模型
产品
解决方案
定价
更多

LPC18S37(TFBGA100)自定义板SCU与GPIO引脚配置咨询

LPC18xx引脚配置问题解答

一、SCU端口与GPIO端口的区别

你之前使用的LPC1769没有SCU模块,LPC18xx的SCU全称为系统控制单元(System Control Unit),负责所有引脚的复用、上下拉、速率等基础配置:

  • SCU端口/引脚:对应芯片的物理引脚分组,就是数据手册里标注的P0P9、PAPF共16个端口,和封装的引脚编号(比如你提到的F8)是一一对应的,是所有引脚配置的入口。
  • GPIO端口/引脚:是物理引脚复用为GPIO功能时对应的外设编号,这个映射关系是芯片设计时固定的,无法修改,必须通过官方引脚映射表查询,和SCU端口没有直接的数值对应规律。

二、示例中D3_GPIO_PIN=28的来源

你贴的示例里D3对应的SCU端口是0xD(也就是PD端口)的14号引脚,查询LPC18xx官方引脚映射表可知,该引脚复用为GPIO功能(对应FUNC4)时,绑定的GPIO外设是GPIO6端口的28号引脚,所以直接赋值28,没有推算公式,完全来自手册给定的映射关系。

三、GPIO3[5](BGA引脚F8)的配置宏

查询LPC18S37 TFBGA100封装的引脚映射表可知,F8引脚对应的SCU端口为P1(数值0x1)的15号引脚,复用为GPIO3[5]的功能号为FUNC0,作为普通推挽输出使用MD_PLN模式即可,对应的宏定义如下:

#define LED_SCU_CONFIG   0x1, 15, MD_PLN, FUNC0
#define LED_SCU_PIN 15
#define LED_SCU_PORT 0x1
#define LED_GPIO_PORT    3
#define LED_GPIO_PIN     5
#define LED_GPIO_MASK    (1 << LED_GPIO_PIN)

实际初始化调用代码为:

// 配置引脚复用为GPIO、设置引脚模式
scu_pinmux(LED_SCU_CONFIG);
// 设置GPIO方向为输出
GPIO_SetDir(LED_GPIO_PORT, LED_GPIO_MASK, 1);
// 如需点亮LED,追加下面的代码(假设高电平点亮)
// LPC_GPIO_PORT->SET[LED_GPIO_PORT] = LED_GPIO_MASK;

内容的提问来源于stack exchange,提问作者Sener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 19:57:03