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

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

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

利用万利官网给出的例程,更改参数的配置,对io口的输出进行配置,源程序为:
  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"


 楼主| 大苏牙 发表于 2015-12-22 20:28 | 显示全部楼层
  1. #include "utility.h"

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

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

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

  5. volatile uint32_t SYS_ms = 0;



  6. void SysTick_Handler ( void )

  7.         {

  8.         SYS_ms++;

  9.         }
 楼主| 大苏牙 发表于 2015-12-22 20:28 | 显示全部楼层
  1. void delay(int count)

  2.         {        

  3.         int i=0;

  4.         int j=0;

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

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

  7.                

  8.         }



  9. int32_t Board_LED_SetBitState ( uint32_t bitn, uint32_t sta )

  10.         {

  11.         int32_t retval = 1;

  12.         switch ( bitn ) {

  13.                 case 0:

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

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

  16.                         break;

  17.                 case 1:
 楼主| 大苏牙 发表于 2015-12-22 20:29 | 显示全部楼层
  1. (sta > 0) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, true)

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

  3.                         break;

  4.                 case 2:

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

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

  7.                         break;

  8.                 case 3:

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

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

  11.                         break;

  12.                 default:

  13.                         retval = 0;

  14.         }

  15.         return retval;

  16. }
 楼主| 大苏牙 发表于 2015-12-22 20:29 | 显示全部楼层
  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.         
 楼主| 大苏牙 发表于 2015-12-22 20:30 | 显示全部楼层
  1. while (1)

  2.                 {

  3.                         delay(1000);

  4.                                 Board_LED_SetBitState ( 0, 1 );

  5.                         delay(1000);

  6.                                 Board_LED_SetBitState ( 1, 1 );

  7.                                 //Board_LED_SetBitState ( 1, 0 );

  8.                         delay(1000);

  9.                                 Board_LED_SetBitState ( 2, 1 );

  10.                         delay(1000);
 楼主| 大苏牙 发表于 2015-12-22 20:31 | 显示全部楼层
  1.    Board_LED_SetBitState ( 3, 1 );

  2. //                                Board_LED_SetBitState ( 1, 1 );

  3. //                                Board_LED_SetBitState ( 2, 1 );

  4.                         delay(1000);

  5.                                 Board_LED_SetBitState ( 0, 0 );

  6.                         delay(1000);

  7.                                 Board_LED_SetBitState ( 1, 0 );

  8.                                 //Board_LED_SetBitState ( 1, 0 );

  9.                         delay(1000);

  10.                                 Board_LED_SetBitState ( 2, 0 );

  11.                         delay(1000);

  12.                                 Board_LED_SetBitState ( 3, 0 );

  13. //                                Board_LED_SetBitState ( 1, 1 );

  14. //                                Board_LED_SetBitState ( 2, 0 );



  15.         }

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

本版积分规则

27

主题

278

帖子

4

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

27

主题

278

帖子

4

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