受LPC55S69物趣系列的吸引,渐感LPC55S69系列开发板的强大潜能。先得到的是一款体型小巧的OKDEE1开发板,甚觉好用,其使用效果如图1所示。 图1 OKDEE1显示效果
然要想将它用于物趣系列上,就感到为体型而瘦身的不足,当有些功能需要时,却发现引脚被裁剪了! 无奈之余只好再寻LPC55S69-EVK开发板,本可早些寻得,然近月之期仍是杳无踪影,只好另求挚友相助,无他三日即见,深感欣然。 拆箱之见,如图2及图3所示。 图2 包装外观 图3箱内器件 上电后,其效果如图3所示,并无特殊之处,只是在安装驱动之后虚拟出串口。 图4 上电效果 图5 虚拟串口 物以尽其用为荣,特献小戏以谢挚友为乐。同样也愿其能对喜好者有所收益。 图6 mini版相框1
图7 mini版相框2 该mini版相框,以SPI接口的彩色OLED屏为显示器件,借用LPC55S69的强大内存即可显示图片,若存放更多的图片,则可倚仗板载的SD卡来完成。 图8 图片原图
OLED显示屏的引脚连接为: CLK--- GPIO1_20 DIN--- GPIO1_21 RST--- GPIO1_2 D/C--- GPIO1_3 CS --- GPIO0_26 BLK--- GPIO1_0 相关引脚输出高低电平的语句定义为: #define OLED_SCLK_Clr() GPIO_PinWrite(GPIO, 1u, 20u, 0)//CLK #define OLED_SCLK_Set() GPIO_PinWrite(GPIO, 1u, 20u, 1) #define OLED_SDIN_Clr() GPIO_PinWrite(GPIO, 1u, 21u, 0)//DIN #define OLED_SDIN_Set() GPIO_PinWrite(GPIO, 1u, 21u, 1) #define OLED_RST_Clr() GPIO_PinWrite(GPIO, 1u, 2u, 0) //RES #define OLED_RST_Set() GPIO_PinWrite(GPIO, 1u, 2u, 1) #define OLED_DC_Clr() GPIO_PinWrite(GPIO, 1u, 3u, 0) //DC #define OLED_DC_Set() GPIO_PinWrite(GPIO, 1u, 3u, 1) #define OLED_CS_Clr() GPIO_PinWrite(GPIO, 0u, 26u, 0) //CS #define OLED_CS_Set() GPIO_PinWrite(GPIO, 0u, 26u, 1) #define OLED_BLK_Clr() GPIO_PinWrite(GPIO, 1u, 1u, 0) //BLK #define OLED_BLK_Set() GPIO_PinWrite(GPIO, 1u, 1u, 1) OLED屏的引脚配置函数为: - void app_oled_init(void)
- {
- gpio_pin_config_t gpioPinConfig;
- gpioPinConfig.pinDirection = kGPIO_DigitalOutput;
- gpioPinConfig.outputLogic = 1u;
- GPIO_PinInit (GPIO, 1u, 20u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 21u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 2u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 3u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 0u, 26u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 1u, &gpioPinConfig);
- OLED_BLK_Set();
- }
复制代码
图片的显示函数为: - void LCD_ShowPicturea(u16 x1,u16 y1,u16 x2,u16 y2)
- {
- int i;
- LCD_Address_Set(x1,y1,x2,y2);
- for(i=0;i<12800;i++)
- {
- LCD_WR_DATA8(gImage_fj[i*2]);
- LCD_WR_DATA8(gImage_fj[i*2+1]);
- }
- }
复制代码 显示效果的主程序为: - int main(void)
- {
- POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
- BOARD_BootClockFROHF96M();
- CLOCK_EnableClock(kCLOCK_Iocon);
- SystemCoreClockUpdate();
- app_oled_init();
- Lcd_Init();
- LCD_Clear(BLACK);
- LCD_ShowPicturea(0,0,159,79);
- while(1);
- }
复制代码
|