|
|
|
@ -64,7 +64,7 @@ void printBinary32(uint32_t toPrint, uint8_t lsbFirst)
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
|
for(i=0; i < 32; i++)
|
|
|
|
|
{
|
|
|
|
|
pt = (toPrint >> 31-i) & 1;
|
|
|
|
|
pt = (toPrint >> (31-i)) & 1;
|
|
|
|
|
usartSendChar(usart2, ' ');
|
|
|
|
|
usartSendChar(usart2, pt + 0x30);
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
@ -73,6 +73,39 @@ void printBinary32(uint32_t toPrint, uint8_t lsbFirst)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void printBinary8(uint8_t toPrint, uint8_t lsbFirst)
|
|
|
|
|
{
|
|
|
|
|
int i;
|
|
|
|
|
char pt;
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
if(lsbFirst)
|
|
|
|
|
{
|
|
|
|
|
print_Usart(usart2, "| 0| 1| 2| 3| 4| 5| 6| 7|");
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
|
for(i=0; i < 8; i++)
|
|
|
|
|
{
|
|
|
|
|
pt = (toPrint >> i) & 1;
|
|
|
|
|
usartSendChar(usart2, ' ');
|
|
|
|
|
usartSendChar(usart2, pt + 0x30);
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
print_Usart(usart2, "| 7| 6| 5| 4| 3| 2| 1| 0|");
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
|
for(i=0; i < 8; i++)
|
|
|
|
|
{
|
|
|
|
|
pt = (toPrint >> (7-i)) & 1;
|
|
|
|
|
usartSendChar(usart2, ' ');
|
|
|
|
|
usartSendChar(usart2, pt + 0x30);
|
|
|
|
|
usartSendChar(usart2, '|');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
@ -80,7 +113,8 @@ int main(int argc, char *argv[])
|
|
|
|
|
uint8_t slaveAddress = 0xC0;
|
|
|
|
|
uint8_t registerToRead = 0x00;
|
|
|
|
|
uint8_t i2cRecieved = 0;
|
|
|
|
|
char buffer [8];
|
|
|
|
|
uint8_t buffer [8];
|
|
|
|
|
uint8_t data = 0;
|
|
|
|
|
// making array with all available timers
|
|
|
|
|
//timerNo_t timers[MAX_TIMER_CHANNEL_COUNT] = {timer_1, timer_2, timer_3, timer_14, timer_16, timer_17};
|
|
|
|
|
|
|
|
|
@ -124,8 +158,8 @@ int main(int argc, char *argv[])
|
|
|
|
|
i2c_t i2c_1;
|
|
|
|
|
i2c_1.channelNo = I2C_CH_1;
|
|
|
|
|
i2c_1.mode = i2cModeMaster;
|
|
|
|
|
i2c_1.address = 0x33;
|
|
|
|
|
i2c_1.addressSecond = 0;
|
|
|
|
|
i2c_1.address = 0x0;
|
|
|
|
|
i2c_1.addressSecond = 0x00;
|
|
|
|
|
i2c_1.addressCount = i2cAddressCountSingle;
|
|
|
|
|
i2c_1.addressSize = i2cAddressSizeSevenBits;
|
|
|
|
|
i2c_1.speed = i2cSpeedStandart;
|
|
|
|
@ -136,56 +170,12 @@ int main(int argc, char *argv[])
|
|
|
|
|
i2c_1.state = i2cNotInitialized;
|
|
|
|
|
|
|
|
|
|
i2cInit(&i2c_1);
|
|
|
|
|
print_Usart(usart2, "I2C initialized\n\r");
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "CR1 : ");
|
|
|
|
|
printBinary32(i2cCR1,0);
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "CR2 : ");
|
|
|
|
|
printBinary32(i2cCR2,0);
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "ISR : ");
|
|
|
|
|
printBinary32(i2cISR,0);
|
|
|
|
|
data = i2cMasterRecieve(&i2c_1,slaveAddress,registerToRead,&i2cRecieved);
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "I2C Send Mode\n\r");
|
|
|
|
|
|
|
|
|
|
i2cMasterRecieve(&i2c_1,slaveAddress,registerToRead,&i2cRecieved);
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "CR1 : ");
|
|
|
|
|
printBinary32(i2cCR1,0);
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "CR2 : ");
|
|
|
|
|
printBinary32(i2cCR2,0);
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
printBinary8(data,0);
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "ISR : ");
|
|
|
|
|
printBinary32(i2cISR,0);
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "I2C Recieved : ");
|
|
|
|
|
buffer[0] = i2cRecieved>>4; //4 MSB
|
|
|
|
|
buffer[1] = i2cRecieved& ((1 << 3)); //4 LSB
|
|
|
|
|
|
|
|
|
|
usartSendChar(usart2, 0x30);
|
|
|
|
|
usartSendChar(usart2, 'x');
|
|
|
|
|
usartSendChar(usart2, buffer[0]+0x30);
|
|
|
|
|
usartSendChar(usart2, buffer[1]+0x30);
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "\n\r");
|
|
|
|
|
|
|
|
|
|
print_Usart(usart2, "All is working fine\n\r");
|
|
|
|
|
|
|
|
|
|