printing data but without delay, why
This commit is contained in:
@@ -324,6 +324,61 @@ send stop : 1011000
|
|||||||
after stop : 11111000
|
after stop : 11111000
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
init i2c : 11111000 TW_NO_INFO -> No state information available
|
||||||
|
after init : 11111000 TW_NO_INFO -> No state information available
|
||||||
|
|
||||||
|
start transmission : 11111000 TW_NO_INFO -> No state information available
|
||||||
|
after start : 1000 TW_START -> Start condition transmitted
|
||||||
|
|
||||||
|
send SLA+W : 1000 TW_START -> Start condition transmitted
|
||||||
|
after SLA+W : 11000 TW_MT_SLA_ACK -> SLA+W transmitted, ACK received
|
||||||
|
|
||||||
|
send 0xAC (trigger measurement) : 11000 TW_MT_SLA_ACK -> SLA+W transmitted, ACK received
|
||||||
|
after 0xAC : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
send parameter 1st byte 0x33 : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
after 0x33 : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
send parameter 2nd byte 0x00 : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
after 0x00 : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
|
||||||
|
send repeat start : 101000 TW_MT_DATA_ACK -> Data transmitted, ACK received
|
||||||
|
after repeat start : 10000 TW_REP_START -> Repeated start condition transmitted
|
||||||
|
|
||||||
|
send SLA+R : 10000 TW_REP_START -> Repeated start condition transmitted
|
||||||
|
after SLA+R : 1000000 TW_MR_SLA_ACK -> SLA+R transmitted, ACK received
|
||||||
|
|
||||||
|
read 1 data : 1000000 TW_MR_SLA_ACK -> SLA+R transmitted, ACK received
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
152
|
||||||
|
read 2 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
196
|
||||||
|
read 3 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
182
|
||||||
|
read 4 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
213
|
||||||
|
read 5 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
255
|
||||||
|
read 6 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
212
|
||||||
|
read 7 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
164
|
||||||
|
read 8 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
255
|
||||||
|
read 9 data : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after read : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
255
|
||||||
|
|
||||||
|
send stop : 1011000 TW_MR_DATA_NACK -> Data received, NACK returned
|
||||||
|
after stop : 11111000 TW_NO_INFO -> No state information available
|
||||||
|
*/
|
||||||
|
|
||||||
// status codes :
|
// status codes :
|
||||||
// -- Master --
|
// -- Master --
|
||||||
// TW_BUS_ERROR 0x00 = 0b0 = 0 -> illegal start or stop condition
|
// TW_BUS_ERROR 0x00 = 0b0 = 0 -> illegal start or stop condition
|
||||||
@@ -347,7 +402,11 @@ send stop : 1011000
|
|||||||
|
|
||||||
#define SLAVE_ADDRESS 0x38 // doc AHT20, 7.3 : address of thermistor : 0b111000, 56
|
#define SLAVE_ADDRESS 0x38 // doc AHT20, 7.3 : address of thermistor : 0b111000, 56
|
||||||
|
|
||||||
void print_hex_value(char c) {}
|
void print_hex_value(char c) {
|
||||||
|
char buffer[3] = {0};
|
||||||
|
int_to_hex_string(c, buffer, 2);
|
||||||
|
uart_printstr(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
void print_status_meaning(uint16_t status) {
|
void print_status_meaning(uint16_t status) {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
@@ -371,6 +430,7 @@ void print_status_meaning(uint16_t status) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void print_status(char *str) {
|
void print_status(char *str) {
|
||||||
|
return;
|
||||||
uint8_t status;
|
uint8_t status;
|
||||||
status = TWSR & 0b11111000; // Table 22-2. Status codes for Master Transmitter Mode
|
status = TWSR & 0b11111000; // Table 22-2. Status codes for Master Transmitter Mode
|
||||||
uint16_t size = 53;
|
uint16_t size = 53;
|
||||||
@@ -450,72 +510,18 @@ int main() {
|
|||||||
print_status("\r\nsend SLA+R");
|
print_status("\r\nsend SLA+R");
|
||||||
i2c_send_addr_r(SLAVE_ADDRESS);
|
i2c_send_addr_r(SLAVE_ADDRESS);
|
||||||
print_status(" after SLA+R");
|
print_status(" after SLA+R");
|
||||||
|
;
|
||||||
// print_status("\r\nstatus ? 0");
|
print_status("\r\nbefore read data");
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 10");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 20");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 30");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 40");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 50");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 60");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 70");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 80");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 90");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 100");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 110");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 120");
|
|
||||||
// _delay_ms(10);
|
|
||||||
// print_status("status ? 130");
|
|
||||||
|
|
||||||
uint8_t data;
|
uint8_t data;
|
||||||
print_status("\r\nread 1 data");
|
for (uint8_t i = 0; i < 10; i++) {
|
||||||
data = i2c_read();
|
data = i2c_read();
|
||||||
print_status(" after read");
|
print_hex_value(data);
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
if (i < 9) {
|
||||||
print_status("read 2 data");
|
uart_tx(' ');
|
||||||
data = i2c_read();
|
}
|
||||||
print_status(" after read");
|
}
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
uart_printstr_endl("");
|
||||||
print_status("read 3 data");
|
print_status(" after read data");
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 4 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 5 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 6 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 7 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 8 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
print_status("read 9 data");
|
|
||||||
data = i2c_read();
|
|
||||||
print_status(" after read");
|
|
||||||
uart_printstr_itoa_base_endl(data, 10);
|
|
||||||
|
|
||||||
print_status("\r\nsend stop");
|
print_status("\r\nsend stop");
|
||||||
i2c_stop();
|
i2c_stop();
|
||||||
|
|||||||
Reference in New Issue
Block a user