lpc4357 gpio 的配置的问题 和stm32比较下
首先先初始化 /* Enable clock and init GPIO outputs */LPC_CCU1->CLK_M4_GPIO_CFG= CCU_CLK_CFG_AUTO | CCU_CLK_CFG_RUN; //使能整个gpio总线 不像stm32 adc 每个bank都设置一下
CCU_CLK_CFG_AUTO 先把自动使能打开,,好像可以自动打开总线和关闭,但是关闭前要先禁止ahb中线 ,跟功耗有关的东西还没有搞清楚。
CCU_CLK_CFG_RUN这个就是使能了 跟32cmd一样。
while (!(LPC_CCU1->CLK_M4_GPIO_STAT & CCU_CLK_STAT_RUN)); //还要查看状态位 看下有没有使能
------------------------------------------时钟结束
LPC_SCU->SFSPD_10=4; /* GPIO6 */
LPC_SCU->SFSPD_11=4; /* GPIO6 */
LPC_SCU->SFSPD_12=4; /* GPIO6 */
LPC_SCU->SFSPD_13=4; /* GPIO6 */
LPC_SCU->SFSPD_14=4; /* GPIO6 */
因为它的gpio功能很强大,每一个GPIO最多有8个功能,所以它专门开辟一个寄存器scu来配置这个东西。相当于32里面的一个端口可以好多的复用功能。ps:好像lpc好像没有固件库 看起来很蛋疼。。。
-----------------------------------------功能选择结束
LPC_GPIO_PORT->DIR |= (led_mask | led_mask | led_mask |
led_mask);// | led_mask)
设置io的输入还是输出。问题就在这了。
const uint32_t led_mask[] = { 1UL << 28,
1UL << 27,
1UL << 26,
1UL << 25,
1UL << 24};
问题:这个真心搞不懂1ul是什么东西DIR和24到28这些数字是怎么对应到D10到D14这些端口的。
欢迎拍砖 UL是C标准数据类型后缀,相当于unsigned long,也就是32bit的一个1,然后左移X位,然后一个寄存器所有需要置1的位都用这种方式写出来并且通过与运算合成一个立即数。
这种写法我当年上大学学ARM9的时候也写的很头疼。
具体的每个寄存器干嘛的,每个位干嘛的还是要去看RM。
STM32好用是因为他的库是CMSIS标准的,采用结构体映射内存空间的方式构造的。你要是不用他的库,写到最后也是一样的德行。
LPC也有标准的CMSIS头文件,要找而已。而且确实写的比较蛋疼。 问题:这个真心搞不懂1ul是什么东西DIR和24到28这些数字是怎么对应到D10到D14这些端口的。
UL有时候是为了屏蔽编译报错。
为什么是1UL,不是1,因为最高位是1可能是负数 1UL -- (unsigned long)1 error_dan 发表于 2014-4-22 10:46
UL是C标准数据类型后缀,相当于unsigned long,也就是32bit的一个1,然后左移X位,然后一个寄存器所有需要 ...
lpc好像就只有rm没有像stm32那样有datasheet 和固件库函数的说明的文档吗?
官方的.c的例程有没有啊?我在官网怎么没有找到? amwox 发表于 2014-4-22 11:21
1UL -- (unsigned long)1
哦谢谢你的回答
但是我怎么定位不到 它在哪定义的啊? 楼主,请问你使用LPC4357使用的是NXP提供的库吗?还是直接操作寄存器了 要库的话去这个链接http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc43xx-packages,也提供了库的说明,需要另外下载。我还是直接操作寄存器{:smile:} hex2dec 发表于 2014-4-23 17:51
楼主,请问你使用LPC4357使用的是NXP提供的库吗?还是直接操作寄存器了
提供的库??在哪找的?? study_hardware 发表于 2014-4-22 12:33
哦谢谢你的回答
但是我怎么定位不到 它在哪定义的啊?
这个应该是编译器自己识别的 magicoe 发表于 2014-4-23 18:04
要库的话去这个链接http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc43 ...
谢谢啦感觉挺全的 好像都是例程 感谢啊很有参考价值啊
页:
[1]