本文整理汇总了C++中MCSDL_GPIO_SDA_SET_LOW函数的典型用法代码示例。如果您正苦于以下问题:C++ MCSDL_GPIO_SDA_SET_LOW函数的具体用法?C++ MCSDL_GPIO_SDA_SET_LOW怎么用?C++ MCSDL_GPIO_SDA_SET_LOW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MCSDL_GPIO_SDA_SET_LOW函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mcsdl_write_bits
static void mcsdl_write_bits(UINT32 wordData, int nBits)
{
int i;
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_LOW();
for (i = 0; i < nBits; i++)
{
if (wordData & 0x80000000) {
MCSDL_GPIO_SDA_SET_HIGH();
}
else {
MCSDL_GPIO_SDA_SET_LOW();
}
/* LGE_CHANGE_S: E0 [email protected] [2011-11-09] */
mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_LOW();
mcsdl_delay(MCSDL_DELAY_3US);
wordData <<= 1;
}
}
示例2: mcsdl_read_32bits
static void mcsdl_read_32bits( UINT8 *pData )
{
int i, j;
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_INPUT();
for (i=3; i>=0; i--){
pData[i] = 0;
for (j=0; j<8; j++){
pData[i] <<= 1;
MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_1US);
MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_1US);
if (MCSDL_GPIO_SDA_IS_HIGH())
pData[i] |= 0x01;
}
}
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_OUTPUT(0);
}
示例3: mcsdl_write_bits
static void mcsdl_write_bits(UINT32 wordData, int nBits)
{
int i;
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_OUTPUT();
for (i = 0; i < nBits; i++)
{
if (wordData & 0x80000000)
{
MCSDL_GPIO_SDA_SET_HIGH();
}
else
{
MCSDL_GPIO_SDA_SET_LOW();
}
mcsdl_delay(MCSDL_DELAY_20US); // lcs_test
MCSDL_GPIO_SCL_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_7US);
MCSDL_GPIO_SCL_SET_LOW();
mcsdl_delay(MCSDL_DELAY_3US);
wordData <<= 1;
}
}
示例4: mcsdl_set_ready
static void mcsdl_set_ready(void)
{
//--------------------------------------------
// Tkey module reset
//--------------------------------------------
MCSDL_VDD_SET_LOW(); // power
//MCSDL_CE_SET_LOW();
//MCSDL_CE_SET_OUTPUT();
//MCSDL_SET_GPIO_I2C();
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_OUTPUT(0);
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SCL_SET_OUTPUT(0);
MCSDL_RESETB_SET_LOW();
MCSDL_RESETB_SET_OUTPUT(0);
mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD
MCSDL_VDD_SET_HIGH();
//MCSDL_CE_SET_HIGH();
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_40MS); // Delay '30 msec'
}
示例5: mcsdl_write_bits
static void mcsdl_write_bits(UINT32 wordData, int nBits)
{
int i;
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_LOW();
for (i = 0; i < nBits; i++) {
if (wordData & 0x80000000)
MCSDL_GPIO_SDA_SET_HIGH();
else
MCSDL_GPIO_SDA_SET_LOW();
mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_LOW();
mcsdl_delay(MCSDL_DELAY_3US);
wordData <<= 1;
}
}
示例6: mcsdl_set_ready
void mcsdl_set_ready(void)
{
//--------------------------------------------
// Tkey module reset
//--------------------------------------------
MCSDL_VDD_SET_LOW(); // power
//MCSDL_CE_SET_LOW();
//MCSDL_CE_SET_OUTPUT();
//MCSDL_SET_GPIO_I2C();
mcsdl_set_gpio_i2c();
if (gpio_request(GPIO_TOUCH_I2C_SDA,"I2C3_SDA") != 0)
{
printk("TSP firm download, Could not request GPIO %d", GPIO_TOUCH_I2C_SDA);
return -EIO;
}
if (gpio_request(GPIO_TOUCH_I2C_SCL,"I2C3_SCL") != 0)
{
printk("TSP firm download, Could not request GPIO %d", GPIO_TOUCH_I2C_SCL);
return -EIO;
}
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_OUTPUT();
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SCL_SET_OUTPUT();
MCSDL_RESETB_SET_LOW();
MCSDL_RESETB_SET_OUTPUT();
mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD
MCSDL_VDD_SET_HIGH();
//MCSDL_CE_SET_HIGH();
MCSDL_GPIO_SDA_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_10MS); //mcsdl_delay(MCSDL_DELAY_40MS); // Delay '30 msec'
}
示例7: mcsdl_set_ready
static void mcsdl_set_ready(void)
{
//--------------------------------------------
// Tkey module reset
//--------------------------------------------
MCSDL_VDD_SET_LOW(); // power
//MCSDL_CE_SET_LOW();
MCSDL_CE_SET_OUTPUT();
MCSDL_SET_GPIO_I2C();
//MCSDL_GPIO_SDA_SET_LOW(); //bomi
MCSDL_GPIO_SDA_SET_OUTPUT();
MCSDL_GPIO_SDA_SET_LOW();
//MCSDL_GPIO_SCL_SET_LOW(); //bomi
MCSDL_GPIO_SCL_SET_OUTPUT();
MCSDL_GPIO_SCL_SET_LOW();
//MCSDL_RESETB_SET_LOW(); //bomi
MCSDL_RESETB_SET_OUTPUT();
MCSDL_RESETB_SET_LOW();
/* LGE_CHANGE_S: E0 [email protected] [2011-11-09] :
TD1416085584 : After sleeping on and off while sensing a touchscreen,
Touchscreen doesn't work*/
mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD
mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD
MCSDL_VDD_SET_HIGH();
MCSDL_CE_SET_HIGH();
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_HIGH();
mcsdl_delay(MCSDL_DELAY_40MS); // Delay '30 msec'
}
示例8: mcsdl_select_isp_mode
static void mcsdl_select_isp_mode(UINT8 ucMode)
{
int i;
UINT8 enteringCodeMassErase[16] = { 0,1,0,1,1,0,0,1,1,1,1,1,0,0,1,1 };
UINT8 enteringCodeSerialWrite[16] = { 0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1 };
UINT8 enteringCodeSerialRead[16] = { 0,1,1,0,1,0,1,0,1,1,0,0,1,0,0,1 };
UINT8 enteringCodeNextChipBypass[16] = { 1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1 };
UINT8 *pCode;
//------------------------------------
// Entering ISP mode : Part 1
//------------------------------------
if (ucMode == ISP_MODE_ERASE_FLASH) pCode = enteringCodeMassErase;
else if (ucMode == ISP_MODE_SERIAL_WRITE) pCode = enteringCodeSerialWrite;
else if (ucMode == ISP_MODE_SERIAL_READ) pCode = enteringCodeSerialRead;
else if (ucMode == ISP_MODE_NEXT_CHIP_BYPASS) pCode = enteringCodeNextChipBypass;
MCSDL_RESETB_SET_LOW();
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_HIGH();
for (i = 0; i < 16; i++)
{
if (pCode[i] == 1)
MCSDL_RESETB_SET_HIGH();
else
MCSDL_RESETB_SET_LOW();
//start add delay for INT
mcsdl_delay(MCSDL_DELAY_3US);
//end delay for INT
MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_3US);
}
MCSDL_RESETB_SET_LOW();
//---------------------------------------------------
// Entering ISP mode : Part 2 - Only Mass Erase
//---------------------------------------------------
mcsdl_delay(MCSDL_DELAY_7US);
MCSDL_GPIO_SCL_SET_LOW();
MCSDL_GPIO_SDA_SET_HIGH();
if( ucMode == ISP_MODE_ERASE_FLASH ){
mcsdl_delay(MCSDL_DELAY_7US);
for(i=0; i<4; i++){
if( i==2 ) mcsdl_delay(MCSDL_DELAY_25MS);
else if( i==3 ) mcsdl_delay(MCSDL_DELAY_150US);
MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_3US);
MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_7US);
}
}
MCSDL_GPIO_SDA_SET_LOW();
}
示例9: mcsdl_verify_flash
static int mcsdl_verify_flash( UINT8 *pDataOriginal, UINT16 unLength, INT8 IdxNum )
{
int i, j;
int nRet;
UINT8 *pData;
UINT8 ucLength;
UINT16 addr;
UINT32 wordData;
addr = 0;
pData = (UINT8 *) pDataOriginal;
ucLength = MELFAS_TRANSFER_LENGTH;
while ((addr*4) < (int)unLength)
{
if ((unLength - (addr*4)) < MELFAS_TRANSFER_LENGTH)
{
ucLength = (UINT8)(unLength - (addr * 4));
}
// start ADD DELAY
mcsdl_delay(MCSDL_DELAY_40US);
//--------------------------------------
// Select ISP Mode
//--------------------------------------
if (IdxNum > 0)
{
mcsdl_select_isp_mode(ISP_MODE_NEXT_CHIP_BYPASS);
mcsdl_delay(MCSDL_DELAY_3US);
}
mcsdl_select_isp_mode(ISP_MODE_SERIAL_READ);
//---------------------------------------------
// Header
// Address[13ibts] <<1
//---------------------------------------------
wordData = ( (addr&0x1FFF) << 1 ) | 0x0;
wordData <<= 14;
mcsdl_write_bits( wordData, 18 );
addr+=1;
#if MELFAS_ENABLE_DBG_PROGRESS_PRINT
printk("#");
#endif
//--------------------
// Read flash
//--------------------
mcsdl_read_flash( ucVerifyBuffer);
//kang
MCSDL_GPIO_SDA_SET_LOW();
MCSDL_GPIO_SDA_SET_OUTPUT(0);
// mcsdl_delay(MCSDL_DELAY_1MS);
//kang
//--------------------
// Comparing
//--------------------
if (IdxNum == 0)
{
for (j = 0; j < (int)ucLength; j++)
{
#if MELFAS_ENABLE_DBG_PROGRESS_PRINT
printk(" %02X", ucVerifyBuffer[j]);
#endif
if (ucVerifyBuffer[j] != pData[j])
{
#if MELFAS_ENABLE_DBG_PROGRESS_PRINT
printk("\n [Error] Address : 0x%04X : 0x%02X - 0x%02X\n", addr, pData[j], ucVerifyBuffer[j] );
#endif
nRet = MCSDL_RET_PROGRAM_VERIFY_FAILED;
goto MCSDL_VERIFY_FLASH_FINISH;
}
}
}
else // slave
{
for (j = 0; j < (int)ucLength; j++)
{
#if MELFAS_ENABLE_DBG_PROGRESS_PRINT
printk(" %02X", ucVerifyBuffer[j]);
#endif
if ((0xff - ucVerifyBuffer[j]) != pData[j])
{
//.........这里部分代码省略.........
示例10: mcsdl_program_flash
static int mcsdl_program_flash( UINT8 *pDataOriginal, UINT16 unLength, INT8 IdxNum )
{
int i;
UINT8 *pData;
UINT8 ucLength;
UINT16 addr;
UINT32 header;
addr = 0;
pData = pDataOriginal;
ucLength = MELFAS_TRANSFER_LENGTH;
//kang
while ((addr*4) < (int)unLength)
{
if ((unLength - (addr*4)) < MELFAS_TRANSFER_LENGTH)
{
ucLength = (UINT8)(unLength - (addr * 4));
}
//--------------------------------------
// Select ISP Mode
//--------------------------------------
// start ADD DELAY
mcsdl_delay(MCSDL_DELAY_40US);
//end ADD DELAY
if(IdxNum > 0) {
mcsdl_select_isp_mode(ISP_MODE_NEXT_CHIP_BYPASS);
mcsdl_delay(MCSDL_DELAY_3US);
}
mcsdl_select_isp_mode( ISP_MODE_SERIAL_WRITE );
//---------------------------------------------
// Header
// Address[13ibts] <<1
//---------------------------------------------
header = ((addr&0x1FFF) << 1) | 0x0 ;
header = header << 14;
//Write 18bits
mcsdl_write_bits( header, 18 );
//start ADD DELAY
//mcsdl_delay(MCSDL_DELAY_5MS);
//end ADD DELAY
//---------------------------------
// Writing
//---------------------------------
// addr += (UINT16)ucLength;
addr +=1;
#if MELFAS_ENABLE_DBG_PROGRESS_PRINT
printk("#");
#endif
mcsdl_program_flash_part(pData);
pData += ucLength;
//---------------------------------------------
// Tail
//---------------------------------------------
MCSDL_GPIO_SDA_SET_HIGH();
//kang
mcsdl_delay(MCSDL_DELAY_40US);
for (i = 0; i < 6; i++)
{
if (i == 2)
{
mcsdl_delay(MCSDL_DELAY_20US);
}
else if (i == 3)
{
mcsdl_delay(MCSDL_DELAY_40US);
}
MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_10US);
MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_10US);
}
MCSDL_GPIO_SDA_SET_LOW();
mcsdl_unselect_isp_mode();
//start ADD DELAY
mcsdl_delay(MCSDL_DELAY_300US);
//end ADD DELAY
}
return MCSDL_RET_SUCCESS;
}