Я прикрепил свой код ниже (я мигаю светодиодом, чтобы увидеть, что цикл происходит, кстати).
Я не получаю никаких данных, отправленных через UART, у меня естьPic 16F913, и вывод 17 - это выход, который я пытаюсь получить, у меня он подключен к модулю Bluetooth RF-42N, я знаю, что модуль работает, потому что, если я подключаю rx к tx, я получаю эхо,Затем я попытался выполнить следующую настройку, чтобы отправить букву «z» модулю bluetooth (и, надеюсь, на моем телефоне прочитал, используя blueterm).Я не получаю данных, я не знаю, какой FOSC по умолчанию установлен, поэтому я попробовал различные значения для SPBRG, надеясь, что смогу «угадать» правильное, но ни одно из них, похоже, неработа.
Я использую компилятор Hi-Tech C (бесплатная версия).
Надеюсь, этого достаточно для всех, у меня просто нет понятия, чего мне не хватает, я "боролся с этим часами.
// Основной файл
#include <uart.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & UNPROTECT & BORDIS & IESODIS & FCMDIS);
int i, j;
void wait(int z);
int main()
{
PORTA = 0x0;
CMCON0 = 7;
// Turn off Comparators
ANSEL = 0;
// Turn off ADC
// Trisa4/5 0's mean output, 1's mean input
TRISA4 = 0;
// Make RA4/RA5 Outputs
TRISA5 = 0;
setupAsyncUart();
while (1==1)
{
RA4 = 0;
send('Z');
wait(100);
RA4 = 1;
wait(100);
}
}
// Wait routine.
void wait(int z)
{
for (int a=0; a<z; a++)
{
for (int b=0; b<z; b++)
{
}
}
}
// uart.h
void send(char string)
{
TXREG = string;
}
void setupAsyncUart(int BAUDRATE)
{
SPBRG = 10;
BRGH = 1; //Low speed = 0 high speed = 1
SYNC = 0;
SPEN = 1;
TXEN = 1;
}