这个函数是怎么写半字节到 LCD 的?

2019-03-24 15:38发布

void  DispDataWrOneNibble (CPU_INT08U data){    CPU_INT32U  value;

    BSP_LCD_DISP_RW_LO();                                       /* Set R/W write LOW to write to the LCD module.        */
    BSP_LCD_DISP_E_HI();                                        /* Write the UPPER nibble to the LCD module.            */    value = ((data >> 4) & 0x0F);    GPIOPinWrite(GPIO_PORTA_BASE, BSP_GPIO_LCD_DB, value << 2);
    DispDly_uS(1000);    BSP_LCD_DISP_E_LO();} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Study_Stellaris
1楼-- · 2019-03-24 21:22
< 还有下边这个是怎么写一个字节的呢?
#if (APP_CFG_LCD_EN == DEF_ENABLED)
void  DispDataWr (CPU_INT08U data)
{
    CPU_INT32U  value;

    BSP_LCD_DISP_RW_LO();                                       /* Set R/W write LOW to write to the LCD module.        */

    BSP_LCD_DISP_E_HI();     //拉高 PB4                                   /* Write the UPPER nibble to the LCD module.            */

    value = ((data >> 4) & 0x0F);
    GPIOPinWrite(GPIO_PORTA_BASE, BSP_GPIO_LCD_DB, value << 2);

    DispDly_uS(1000);
    BSP_LCD_DISP_E_LO();

    DispDly_uS(1000);                                            /* Write the LOWER nibble to the LCD module.            */
    BSP_LCD_DISP_E_HI();
    value = (data & 0x0F);
    GPIOPinWrite(GPIO_PORTA_BASE, BSP_GPIO_LCD_DB, value << 2);

    DispDly_uS(1000);
    BSP_LCD_DISP_E_LO();
}
ddllxxrr
2楼-- · 2019-03-24 23:31
< :TI_MSP430_内容页_SA7 --> 楼主看下这两个函数就明白了
  BSP_LCD_DISP_RW_LO();
BSP_LCD_DISP_E_HI();
Study_Stellaris
3楼-- · 2019-03-25 03:07
 精彩回答 2  元偷偷看……
Study_Stellaris
4楼-- · 2019-03-25 06:12
GPIOPinWrite(GPIO_PORTA_BASE, BSP_GPIO_LCD_DB, value << 2);
为什么要左移 2 为呢?
Study_Stellaris
5楼-- · 2019-03-25 08:56
明白了,结贴!

一周热门 更多>

相关问题

    相关文章