芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片解密HC32L136开发板的OLED驱动及应用

芯片解密HC32L136开发板上配有一个笔段式的液晶屏,但无奈的是厂家却没提供一个能直接调用的显示函数。
在没解决该显示屏的显示函数前,先以轻车熟路的OLED屏来实现显示的问题。
由于手头的OLED屏是一款I2C接口的单色显示屏,故另其与MCU的连接关系为:
PA11SCL
PA12SDA
使这2个引脚输出高低电平的语句定义为:
#define OLED_SCLK_Set()   Gpio_SetIO(GpioPortA, GpioPin11)
#define OLED_SCLK_Clr()   Gpio_ClrIO(GpioPortA, GpioPin11);
#define OLED_SDIN_Set()   Gpio_SetIO(GpioPortA, GpioPin12)
#define OLED_SDIN_Clr()   Gpio_ClrIO(GpioPortA, GpioPin12);
分配2个引脚为输出功能的函数为:
  1. void App_OledInit(void)
  2. {
  3. stc_gpio_cfg_t stcGpioCfg;
  4. ///< 打开GPIO外设时钟门控
  5. Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
  6. ///< 端口方向配置->输出(其它参数与以上(输入)配置参数一致)
  7. stcGpioCfg.enDir = GpioDirOut;
  8. ///< 端口上下拉配置->下拉
  9. stcGpioCfg.enPu = GpioPuDisable;
  10. stcGpioCfg.enPd = GpioPdEnable;
  11. ///< GPIO IO OLED端口初始化
  12. Gpio_Init(GpioPortA, GpioPin11, &stcGpioCfg);
  13. Gpio_Init(GpioPortA, GpioPin12, &stcGpioCfg);
  14. }
复制代码

实现图1显示效果的主程序为:
  1. int32_t main(void)
  2. {
  3. stc_rtc_time_t readtime;
  4. Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE);  //GPIO外设时钟打开
  5. Sysctrl_SetPeripheralGate(SysctrlPeripheralRtc,TRUE);    //RTC模块时钟打开
  6. Sysctrl_ClkSourceEnable(SysctrlClkRCL, TRUE);
  7. RTC_Cfg();                                        //配置RTC
  8. EnableNvic(RTC_IRQn, IrqLevel3, TRUE);                //使能RTC中断向量
  9. Rtc_Cmd(TRUE);                                   //使能RTC开始计数
  10. App_OledInit();
  11. OLED_Init();
  12. OLED_Clear();
  13. OLED_ShowString(0,0,"HC32L136 TEST",16);
  14. OLED_ShowString(0,2,"OLED DISPLAY",16);
  15. while (1);
  16. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信