jinglixixi 发表于 2020-9-13 00:28

【CH579M-R1】+单色OLED屏显示

本帖最后由 jinglixixi 于 2020-9-13 08:56 编辑

<p>在开发板上配置了I2C接口,但遗憾的是它与OLED屏的引脚排列不一致,因此也就无法直接将OLED屏插到I2C接口来使用。既然无法使用该接口,那么在连接OLED屏的时候也就无需再考虑引脚的分配,逮着那个随意用就是了,只要不产生冲突即可。</p>

<p>&nbsp;</p>

<p>在程序中,OLED屏与MCU的连接关系是:</p>

<p>SCLK---PB0</p>

<p>SDIN---PB1</p>

<p>&nbsp;</p>

<p>相应的引脚输出高低电平的语句为:</p>

<p>#define OLED_SCLK_Set()&nbsp;&nbsp; GPIOB_SetBits( GPIO_Pin_0 ) &nbsp;&nbsp;// PB0</p>

<p>#define OLED_SCLK_Clr()&nbsp;&nbsp; GPIOB_ResetBits( GPIO_Pin_0 )</p>

<p>&nbsp;</p>

<p>#define OLED_SDIN_Set()&nbsp;&nbsp; GPIOB_SetBits( GPIO_Pin_1 )&nbsp; &nbsp;// PB1</p>

<p>#define OLED_SDIN_Clr()&nbsp;&nbsp; GPIOB_ResetBits( GPIO_Pin_1 )</p>

<p>配置引脚为输出功能的函数为:</p>

<pre>
<code class="language-cpp">void LCD_GPIO_Cogfig(void)
{
   GPIOB_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );
   GPIOB_ModeCfg( GPIO_Pin_1, GPIO_ModeOut_PP_5mA );
}</code></pre>

<p>实现演示效果的主函数为:&nbsp;</p>

<pre>
<code class="language-cpp">int main()
{
                   GPIOB_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA ); 
                   mDelaymS(100);
                   OLED_Init();
                   OLED_Clear();
                   OLED_ShowString(0,0,"CH579M  TEST",16);
                   OLED_ShowString(0,2,"OLED Display",16);
                   OLED_ShowString(0,4,"jinglixixi",16);
                   OLED_ShowString(0,6,"2020.9.10",16);
                   OLED_ShowCHinese(0,2,0); 
                   OLED_ShowCHinese(16,2,1);
                   OLED_ShowCHinese(32,2,2);
                   OLED_ShowCHinese(48,2,3);
                   OLED_ShowCHinese(64,2,4);
                   OLED_ShowCHinese(0,4,5); 
                   OLED_ShowCHinese(16,4,6);
                   OLED_ShowCHinese(32,4,7);
                   OLED_ShowCHinese(48,4,8);
                   OLED_ShowCHinese(64,4,9);
                   while(1)
                   {
                               GPIOB_SetBits( GPIO_Pin_3 );
                               mDelaymS( 500 );
                               GPIOB_ResetBits( GPIO_Pin_3 );
                               mDelaymS( 500 );
                   }
}</code></pre>

<p>编译下载后,运行的演示效果如图1和图2所示。</p>

<p>图1 字符显示</p>

<p>&nbsp;</p>

<p></p>

<p>图2 汉字显示</p>

<p class="MsoNoSpacing" style="text-align:justify">&nbsp;</p>

okhxyyo 发表于 2020-9-14 11:33

<p><a href="https://bbs.eeworld.com.cn/thread-1140005-1-1.html" target="_blank">沁恒CH579M-R1开发板测评</a></p>

<p>汇总贴:<a href="https://bbs.eeworld.com.cn/thread-1140005-1-1.html">https://bbs.eeworld.com.cn/thread-1140005-1-1.html</a></p>
页: [1]
查看完整版本: 【CH579M-R1】+单色OLED屏显示