Итак, мне удалось отправить 0x0F
на датчик и получить ответ 0xF0
.Теперь я хотел бы увидеть в программном обеспечении EUART, которое я отправил 0x0F
на датчик, и получить сообщение, когда от датчика получено 0xF0
.
Это код, которыйЯ и мой друг развились, но не можем разобраться.Я также прилагаю скриншоты того, что вижу.
Итак, основной код, с которым я экспериментировал:
while(1){
char temp;
__delay_us(100); // required previous to check DRDY (pag 26)
while (PORTDbits.RD5 == 0) ; // wait until DRDY high
QTA_SS_LAT_LOW ; // Put SS low
__delay_us(10); // required if you are QT was in sleep mode (pag 22)
WriteSPI(0x0F); // Send a byte - Transmit data
__delay_us(2); // Wait for the byte to be shifted out
QTA_SS_LAT_HIGH ; // Put SS high
out_str("Sent 0x0F ",10,LSB);
// Now transfer null command for getting the response
__delay_us(100); // required previous to check DRDY (pag 26)
while (PORTDbits.RD5 == 0) ; // wait until DRDY high
QTA_SS_LAT_LOW ; // Put SS low
__delay_us(10); // required if you are QT was in sleep mode
temp = ReadSPI(); // Read a byte from the
QTA_SS_LAT_HIGH ; // Stop transmitting data
out_str("Received 0xF0 ",14,LSB);
}
А функция out_str();
:
void out_str(char * string, uint8_t len, char bit_order){
uint8_t i = 0;
for (i = 0; i< len; i++){
out_char(string[i], bit_order);
}
}
Программное обеспечение EUART должно выводить на вывод RB5 и SPI с выделенных выводов для MOSI, MISO, DRDY и SS
SPI работает без программного обеспечения EUART.
Для программного обеспечения euart I используется док-лампа.