Easyelectronics.ru

Электроника для всех
Текущее время: 21 ноя 2019, 09:26

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с UART
СообщениеДобавлено: 22 ноя 2018, 14:47 
Только пришел

Зарегистрирован: 03 окт 2016, 18:47
Сообщения: 7
Доброго времени суток!
Возникает такая проблема: Когда пытаюсь инициализировать через функцию UART1_Init(9600);
То постоянно вылазит ошибка:
294 324 Undeclared identifier 'BRGH' in expression main.c
294 348 Assembler instruction 'BSF main.c

Никак не могу найти информацию по ней.
Может кто то знает в чем дело?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 22 ноя 2018, 14:51 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2370
А функция эта откуда у вас взялась? И какой Мк у вас? Вангую 1 из 2 вариантов:
1. Скопипастили функцию от другого пика с другими регистрами.
2. Незаинклюдили какой-нибудь файлик с описанием регистров.

Ошибка простая, что там искать. Явно же написано что компилятор не знает, что такое BRGH.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 22 ноя 2018, 14:52 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
Озвучьте чип, среду, компилятор...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 22 ноя 2018, 16:22 
Только пришел

Зарегистрирован: 03 окт 2016, 18:47
Сообщения: 7
Это стандартная функция Mikro C PRO for PIC.
Библиотека UART подключена.
Эту функцию я взял с Help.
Это понятно, что компилятор не знает что такое BRGH, но как такое могло произойти в библиотеке MikroC?
Я уже сносил и разные версии ставил, всё бестолку - твердит что не хватает BRGH..
Контроллер - PIC18F4455


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 22 ноя 2018, 16:37 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
Код:
void main() {
    UART1_Init(9600);
}


Цитата:
0 1 mikroCPIC1618.exe -MSF -DBG -pP18F4455 -RA -GC -DL -O11111114 -fo8 -N"D:\Distr\PROGRAMM\Micro\PIC\mikroC\2018\TEST\MyProject.mcppi" -SP"C:\Program Files (x86)\Micro\Mikroe\mikroC PRO for PIC\defs\" -SP"C:\Program Files (x86)\Micro\Mikroe\mikroC PRO for PIC\uses\P18\" -SP"D:\Distr\PROGRAMM\Micro\PIC\mikroC\2018\TEST\" "MyProject.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_UART_c67.mcl"
0 1139 Available RAM: 2027 [bytes], Available ROM: 24576 [bytes]
0 122 Compilation Started P18F4455.c
1610 123 Compiled Successfully P18F4455.c
0 122 Compilation Started __Lib_Delays.c
172 123 Compiled Successfully __Lib_Delays.c
0 126 All files Preprocessed in 31 ms
0 122 Compilation Started MyProject.c
2 1509 Generated baud rate is 9615 bps (error = 0.16 percent) MyProject.c
3 123 Compiled Successfully MyProject.c
0 127 All files Compiled in 47 ms
0 1144 Used RAM (bytes): 16 (1%) Free RAM (bytes): 2011 (99%) Used RAM (bytes): 16 (1%) Free RAM (bytes): 2011 (99%)
0 1144 Used ROM (bytes): 128 (1%) Free ROM (bytes): 24448 (99%) Used ROM (bytes): 128 (1%) Free ROM (bytes): 24448 (99%)
0 125 Project Linked Successfully MyProject.mcppi
0 1004 COFF file successfully generated COFF file successfully generated
0 128 Linked in 468 ms
0 129 Project 'MyProject.mcppi' completed: 1061 ms
0 103 Finished successfully: 22 íîÿ 2018, 14:36:08 MyProject.mcppi



А вообще, завязывали бы и с микроС и с пЫк...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 02 дек 2018, 15:47 
Старожил

Зарегистрирован: 08 янв 2011, 21:54
Сообщения: 231
Откуда: Ставрополь
Для 18ПИК написать инициализацию UART очень просто. там несколько строчек кода.
Никогда для инициализации не пользуюсь библиотечными функциями. Всегда пишу свои по даташитам.
Код приведен для PIC18F67J60. но для вашего, наверное не будет иметь отличий.
Код:
#define BAUD_RATE         9600

   // Initilize UART
       TXSTA = 0x20;
       RCSTA = 0x90;
   TRISCbits.TRISC6=0;  // Вывод передатчика
   TRISCbits.TRISC7=1;    // Вход приемника
   SPBRGH = ((GetPeripheralClock()+BAUD_RATE/2)/BAUD_RATE-1)>>8 & 0xFF;
   SPBRG = ((GetPeripheralClock()+BAUD_RATE/2)/BAUD_RATE-1) & 0xFF;

   // Use high priority interrupt
   IPR1bits.TXIP = 1;
   // Make sure to clear UART errors so they don't block all future operations
    RCSTAbits.CREN = 0;
    RCSTAbits.CREN = 1;
       //разрешить прием данных по СОМ порту
   PIE1bits.RCIE = 1;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 02 дек 2018, 16:25 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
Не пользуетесь, а позвольте спросить -GetPeripheralClock , это что?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 02 дек 2018, 19:08 
Старожил

Зарегистрирован: 06 июн 2016, 12:10
Сообщения: 619
Это макрос, возвращает частоту проца
пример для 24F:
#define GetPeripheralClock() GetSystemClock()
#define GetSystemClock() (32000000ul)

Я тут мимокрокодил, так что извиняюсь, что влез.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 02 дек 2018, 23:36 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
То есть часть г.либы.
А то что мимопроходил сочувствую а также тому что до сих пор на пЫк. У вас или времени много или очередной "кулибин"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 02 дек 2018, 23:47 
Старожил

Зарегистрирован: 08 янв 2011, 21:54
Сообщения: 231
Откуда: Ставрополь
Выше уже ответили. Это просто определение констант, хотя записанное таким способом.
Код:

// Clock frequency value.
// This value is used to calculate Tick Counter value
      #define GetSystemClock()      (41666667ul)      // Hz
      #define GetInstructionClock()   (GetSystemClock()/4)
      #define GetPeripheralClock()   GetInstructionClock()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 03 дек 2018, 00:29 
Старожил

Зарегистрирован: 06 июн 2016, 12:10
Сообщения: 619
dosikus_2 писал(а):
А то что мимопроходил сочувствую а также тому что до сих пор на пЫк. У вас или времени много или очередной "кулибин"

Вы нигде не угадали. Не делайте, пожалуйста, поспешных симптомов "по фотографиям" ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 03 дек 2018, 00:45 
Старожил

Зарегистрирован: 08 янв 2011, 14:57
Сообщения: 439
dosikus_2 писал(а):
А то что мимопроходил сочувствую а также тому что до сих пор на пЫк.
Вы не могли бы кратко пояснить, куда и почему нужно переходить с пиков (интересуют сугубо SMPS приложения)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 04 дек 2018, 11:14 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
monos, с каких это пор микрочип монополист в комплектующих на ИИП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с UART
СообщениеДобавлено: 04 дек 2018, 16:15 
Старожил

Зарегистрирован: 08 янв 2011, 14:57
Сообщения: 439
Я вроде ничего и не утверждал, меня интересует ваше мнение. В пиках есть интересная периферия, типа ОУ, ШИМов разного рода, конфигурируемой логики...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB