реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> dsPIC33 ошибки компиляции
dimka333
сообщение May 8 2011, 10:04
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 21-11-10
Пользователь №: 61 056



Уважаемые форумчане., осваиваю 33 пик.
В куске кода инициализации компилятор не видит названия битов и регистров
Хидер подключен.. причем на все _FBS ... не ругается. MPLAB 8.66 C30

#include <p33fj128mc802.h>

// ---------------------------------------------------------------------------------------------------------------------
// Биты конфигурации
// ---------------------------------------------------------------------------------------------------------------------
_FBS (BWRP_WRPROTECT_OFF);
_FSS (SWRP_WRPROTECT_OFF);
_FGS (GWRP_OFF);
_FOSCSEL(FNOSC_PRIPLL & IESO_OFF );
_FOSC (FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_HS);
_FWDT (FWDTEN_OFF);
_FPOR (FPWRT_PWR16);

// ТактоваЯ частота
// ---------------------------------------------------------------------------------------------------------------------
#define CRYSTAL_FREQ 8000000 // Чатота кварцевого резонатора = 8'000'000 Гц
#define FOSC (CRYSTAL_FREQ * 10.0) // СистемнаЯ частота (с учетом PLL) = 80'000'000 Гц
#define FCY (FOSC / 2.0) // Частота выполнениЯ инструкций = 40'000'000 Гц


int main (void)
{
// -----------------------------------------------------------------------------------------------------------------
// КонфигурациЯ PLL
// -----------------------------------------------------------------------------------------------------------------
CLKDIV_bit.PLLPRE = 2; // 8 MHz / 2 = 4 MHz
PLLFBD_bit.PLLDIV = 38; // 4 MHz * 40 = 160 MHz
CLKDIV_bit.PLLPOST = 0; // 160 MHz / 2 = 80 MHz - Fosc

while (!OSCCON_bit.LOCK); // Ожидание стабилизации PLL

// -----------------------------------------------------------------------------------------------------------------
// Отключение АЦП
// -----------------------------------------------------------------------------------------------------------------
AD1PCFGL = 0xFFFF; // Все выводы - цифровые
AD1PCFGH = 0xFFFF;
AD2PCFGL = 0xFFFF;

return 0

}

Вот, что пишит


Release build of project `D:\200A\33my.mcp' started.
Language tool versions: pic30-as.exe v3.24, pic30-gcc.exe v3.24, pic30-ld.exe v3.24, pic30-ar.exe v3.24
Sun May 08 13:04:37 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=33FJ128MC802 -x c -c "333333.c" -o"333333.o" -g -Wall
333333.c: In function 'main':
333333.c:19: error: 'CLKDIV_bit' undeclared (first use in this function)
333333.c:19: error: (Each undeclared identifier is reported only once
333333.c:19: error: for each function it appears in.)
333333.c:20: error: 'PLLFBD_bit' undeclared (first use in this function)
333333.c:23: error: 'OSCCON_bit' undeclared (first use in this function)
Halting build on first failure as requested.
----------------------------------------------------------------------
Release build of project `D:\200A\33my.mcp' failed.
Language tool versions: pic30-as.exe v3.24, pic30-gcc.exe v3.24, pic30-ld.exe v3.24, pic30-ar.exe v3.24
Sun May 08 13:04:38 2011
----------------------------------------------------------------------
BUILD FAILED

В чем дело ?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение May 8 2011, 11:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(dimka333 @ May 8 2011, 13:04) *
Уважаемые форумчане., осваиваю 33 пик.
В куске кода инициализации компилятор не видит названия битов и регистров
Хидер подключен.. причем на все _FBS ... не ругается. MPLAB 8.66 C30

#include <p33fj128mc802.h>
..............................
BUILD FAILED

В чем дело ?


Попробуйте все-таки использовать по-другому: выбрать в МПЛАБе указанный ПИК, а в самой программе использовать
Код
#include <p33fxxxx.h>       //processor header file


Если не поможет, то попробую ваш проект у себя. проблема явно простая и решение будет простое.
Go to the top of the page
 
+Quote Post
dimka333
сообщение May 8 2011, 11:22
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 21-11-10
Пользователь №: 61 056



уже помогли
"в МСС30 нужно писать по типу RegisterNamebits.BitName"
т.е.

не
CLKDIV_bit.PLLPRE = 2;

а
CLKDIVbits.PLLPRE = 2;
или
_PLLPRE = 2;

Видно пример был под другой компилятор
Спасибо за участие
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016