/* Write data in the corresponding row and select it.  */
void DotMatrixRunRow(unsigned char ucRow)
/* Write data in the corresponding row and select it.  */
void DotMatrixRunRow(unsigned char ucRow)
{
    unsigned char i, j, p, ucData;
    xGPIOSPinWrite(sA0, 1);
    xGPIOSPinWrite(sA1, 0);
    for(i = 0; i < 8; i++)
    {
        for(j = 0; j < 3; j++)
        {
            ucData = dots[g_ucPageIndex][ucRow][i][2-j];
            for(p = 0; p < 8; p++)
            {
    	        if(ucData & 0x80)
                {
                    xGPIOSPinWrite(sD7, 1);
                }
                else
                {
                    xGPIOSPinWrite(sD7, 0);
                }
    	        ucData = ucData << 1;
                xGPIOSPinWrite(sD6, 0);
                xGPIOSPinWrite(sD6, 1);
            }
        }
    }
    xGPIOSPinWrite(sA1, 1);
    xGPIOSPinWrite(sA1, 0);
}