[其他MCU] LPC54102+初探IO口的使用

[复制链接]
 楼主| C洛达尔多 发表于 2015-12-17 20:19 | 显示全部楼层 |阅读模式
LPC54102的板子已经申请到有一个月了,由于最近一直忙着赶论文,所以一直没有好好地玩她,实在抱歉!
万利的这款板子使用的是64引脚封装的LPC54102,可以使用串口下载,SWD下载,和jlink下载三种下载方式,使用方便。另外还将所有的引脚都印了出来,方便调试使用。

LPC54102的IO口可以做为上拉、下拉输入输出,也可设置为开漏输出,还可以设置为翻转功能,

利用万利官网给出的例程,更改参数的配置,对io口的输出进行配置,源程序为:
 楼主| C洛达尔多 发表于 2015-12-17 20:19 | 显示全部楼层
  1. #define _MAIN_C_
  2. #include "chip.h"

  3. #include "stdint.h"

  4. #include "main.h"

  5. #include "chip.h"

  6. #include "stdint.h"

  7. #include "board_pinmuxing.h"

  8. //#include "board_led.h"

  9. #include "glcd.h"

  10. #include "board_led.h"

  11. #include "utility.h"

  12. #define TICKRATE_HZ1 (1)/* 1 ticks per second */

  13. #define TICKRATE_HZ2 (2)/* 2 ticks per second */

  14. #define PRESCALE_HZ2 (0xFFFF)        /* 16-bit prescale count */

  15. volatile uint32_t SYS_ms = 0;


 楼主| C洛达尔多 发表于 2015-12-17 20:20 | 显示全部楼层
  1. void SysTick_Handler ( void )

  2.         {

  3.         SYS_ms++;

  4.         }





  5. void delay(int count)

  6.         {        

  7.         int i=0;

  8.         int j=0;

  9.   for(i=0;i<count;i++)

  10.                 for(j=0;j<20000;j++);

  11.                

  12.         }
 楼主| C洛达尔多 发表于 2015-12-17 20:21 | 显示全部楼层
  1. int32_t Board_LED_SetBitState ( uint32_t bitn, uint32_t sta )

  2.         {

  3.         int32_t retval = 1;

  4.         switch ( bitn ) {

  5.                 case 0:

  6.                         (sta > 0) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, true)

  7.                                   : Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, false);

  8.                         break;

  9.                 case 1:

  10.                         (sta > 0) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, true)

  11.                                   : Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, false);

  12.                         break;

  13.                 case 2:

  14.                         (sta > 0) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 8, true)

  15.                                   : Chip_GPIO_SetPinState(LPC_GPIO, 0, 8, false);

  16.                         break;

  17.                 case 3:

  18.                         (sta > 0) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 7, true)

  19.                                   : Chip_GPIO_SetPinState(LPC_GPIO, 0, 7, false);

  20.                         break;

  21.                 default:

  22.                         retval = 0;

  23.         }

  24.         return retval;

  25. }
 楼主| C洛达尔多 发表于 2015-12-17 20:21 | 显示全部楼层
  1. int32_t main(void) {

  2.         uint32_t timerBaseClock;



  3.         // Setup SystemCoreClock and any needed board code

  4.         SystemCoreClockUpdate();

  5.         SysTick_Config(SystemCoreClock/1000);

  6.         Board_SetupMuxing();

  7.         Board_LED_Init ();

  8.         

  9.         while (1)

  10.                 {

  11.                         delay(1000);

  12.                                 Board_LED_SetBitState ( 0, 1 );

  13.                         delay(1000);

  14.                                 Board_LED_SetBitState ( 1, 1 );

  15.                                 //Board_LED_SetBitState ( 1, 0 );

  16.                         delay(1000);

  17.                                 Board_LED_SetBitState ( 2, 1 );

  18.                         delay(1000);

  19.                                 Board_LED_SetBitState ( 3, 1 );

  20. //                                Board_LED_SetBitState ( 1, 1 );

  21. //                                Board_LED_SetBitState ( 2, 1 );

  22.                         delay(1000);

  23.                                 Board_LED_SetBitState ( 0, 0 );

  24.                         delay(1000);

  25.                                 Board_LED_SetBitState ( 1, 0 );

  26.                                 //Board_LED_SetBitState ( 1, 0 );

  27.                         delay(1000);

  28.                                 Board_LED_SetBitState ( 2, 0 );

  29.                         delay(1000);

  30.                                 Board_LED_SetBitState ( 3, 0 );

  31. //                                Board_LED_SetBitState ( 1, 1 );

  32. //                                Board_LED_SetBitState ( 2, 0 );



  33.         }

  34. }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

236

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

28

主题

236

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部