Starina48

Нужна помощь в программировании

40 сообщений в этой теме

Starina48    0

Добрый день. Прошу помочь разобраться с PIC12F629. Работаю в MPLAB 8.30, язык СИ. Хочу с GP0 и GP1 получить сигнал в противофазе , частотой 1 кГц. Но что- то пишу не так. Выдает Ошибки. Направляю  проект для анализа.

Вот прога в файле .с:

#include <pic.h>

__CONFIG(0x03FFF);

PORTGP=0xFF;

DDRGP=0xFF;

Int  i=0;

void main(void)

{

while (1)

      {

         {      

 int n;

{

n=0;

m1;

      // Частота 1кГц.

      PORTGP.0 = 1;

       PORTGP.1 = 0;

      delay_us(500); //Задержка в мкс.

     PORTGP.0=0;

     PORTGP.1 = 1;

      delay_us(500); //Задержка в мкс.

n++;

if (n<5000) goto m1;

}

 

Pro3.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    573
12 минуты назад, Starina48 сказал:

Выдает Ошибки

Тут экстрасенсов нет. Показывайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Выдаваемые ошибки:

Build C:\Program Files\Microchip\Raboch SI\Pro3\Pro3 for device 12F629

Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe

Make: The target "C:\Program Files\Microchip\Raboch SI\Pro3\Pro3.p1" is up to date.

Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe" -oPro3.cof -mPro3.map --summary=default --output=default Pro3.p1 --chip=12F629 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"

HI-TECH C PRO for the PIC10/12/16 MCU family (Lite)  V9.60PL5

Copyright (C) 1984-2009 HI-TECH SOFTWARE

(1273) Omniscient Code Generation not available in Lite mode (warning)

Error   [499] ; 0. undefined symbol:

            _main(startup.obj)

********** Build failed! **********

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Впервые на русском языке! Работаем с микроконтроллерами STM32F7(на основе STM32F7 Online Training)

Цикл материалов на основе STM32F7 Online Training от компании STMicroelectronics. Описаны функциональные блоки и инструменты разработки для семейства микроконтроллеров STM32F7, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы.

Подробнее>>

Alex    573

Выкиньте HI-TECH на свалку и поставьте XC8 от Микрочипа. Стандартной (халявной) лицензии Вам хватит за глаза.

HI-TECH - динозвар, им уже никто не пользуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Меня интересует , как исправить мою ошибку с 12 пиком, а  XC8 - это обновление для наборов инструментов PICC и PICC18 пока меня не интересует. Возможно со временем и поменяю. А пока люди и с HI работают. Вы лучше подскажите, где у меня ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    573

Вот у вас ошибка :

2 часа назад, Starina48 сказал:

Error   [499] ; 0. undefined symbol:             _main(startup.obj)

Линкер не находит функцию main.
В чём ошибка - хз. Вариантов 100500. По этому я и посоветовал сменить компилятор. Его поменять - 10 минут. И всё у Вас запустится. Причём, помощи будет гораздо больше, чем с hi-tech.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 448
45 минут назад, Starina48 сказал:

где у меня ошибка?

1.не совпадает кол-во открытых и закрытых скобок

2. данных типа Int , в си не существует если вы конечно не определили его сами, есть int !

3.

2 часа назад, Starina48 сказал:

m1;

что это?

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
солар    186
3 часа назад, Starina48 сказал:

m1;

Тогда поставить двоеточие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 448

учебник по Си изучай

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
batir74    0

#include <htc.h>  //подключим файл заголовков HI-TECH PICC
#define _XTAL_FREQ          4000000 // частота генератора в Гц

//слово конфигурации микроконтроллера
__CONFIG ( CPD & PROTECT & BOREN & MCLRDIS & PWRTEN & WDTDIS & INTIO);

void main (void)
{

    
    INTCON=0;
    CMCON=0b00000111;
    TRISIO=0x00;//
    GPIO=0;
    
    while(1)
    {
      GP0=1;
      GP1=0;        
    __delay_us(500); //Задержка в мкс.
      GP0=0;
      GP1=1; 
   __delay_us(500); //Задержка в мкс.
  }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Спасибо большое Members. Все  принял  , кроме GP0 и GP1. Я пытался дописать впереди PORTGP0 , тоже выдает ошибку. Тут наверно двух буквенное обозначение порта прогу смущает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Спасибо  UVV.  Только  правая часть страницы не открывается. Сейчас попробую найти этот файл в инете.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Нашел  .rar в инете, тот же эффект. Правая часть справки не открывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UVV    52

попробуй открыть с вот так

2019-02-11_11-14-16.thumb.png.6cadf4fae414ed0d81cb6e023d52a069.png

галочку сними

 

 

Изменено пользователем UVV

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Я так и делаю.  Правая часть не открывается.

Я так и делаю.  Галку снять не подумал даже. Снял все заработало. Спасибо.

Я так и делаю.  Галку снять не подумал даже. Снял все заработало. Спасибо.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
korsaj    34

для PIC12F629 можно было и асм воспользоватся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Друзья мои. Я ведь просил ПОМОЩЬ в корректировке  программы . Для чего и выложил весь проект. А большинство дает просто советы, то по смене аппаратных средств, то языка программирования, а вопрос не решается.  Единственный  batir74 предложил свой вариант программы. Спасибо ему за это. Поэтому прошу не обижаться, я всех уважаю, но мне время жалко, все таки уже 70 с хвостиком. Да и голова уже не та , что в 40.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UVV    52

@Starina48 MPLAB 8.30 на HI-TECH PICC или как там просто не кто не знает и не пользуется.

@Starina48 ждите может кто и зайдёт знающий HI-TECH PICC.

Я когда начинал изучать МК то первым делом начал с HI-TECH PICC но потыкав эту среду понял что уж очень всё замудрённо. Начал искать альтернативу. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 448
В 10.02.2019 в 21:20, Starina48 сказал:

Все  принял  , кроме GP0 и GP1.

блин ну детский сад какой-то... открываете папку где у вас лежит хайтек, находите папку include , в ней находите хедер с описанием всех регистров и битов на нужный вам МК. открываете любым текстовым редактором(можете его даже в мплабовский проект добавить) и в у себя в коде ставите нужное обозначение, вангую что название хедера будет что-то типа 12f6x.h

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starina48    0

Вот теперь ошибок нет. Однако предупреждения не дают запустить проект. Проект 5.rar прикреплен.

5.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 448

можете его не крипить,  вы наверно единственный кто пользует связку мплаб8.30 и хайтек9.60про , первый по причине беззаветной старости , второй из-за глючности. для остальных ваш проект бесполезен.

вангую

1. Error[499]   : undefined symbol:
    ___delay_us (C:\Program Files\Microchip\Raboch SI\9.81\5\5.obj)

хайтек понятия не имеет що це таке __delay_us(500) пока в заголовке не подключите ему нужный хедер

2. Warning[361] C:\Program Files\Microchip\Raboch SI\9.81\5\5.c 22 : function declared implicit int

хайтек вас предупреждает что выбранный размер задержки (int) может не соответствует ожиданиям компилятора (unsigned char) и может приведен к  нужному путем обрезания выступающих частей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    573
8 часов назад, Starina48 сказал:

А большинство дает просто советы, ..........

@Starina48 , Вы обижайтесь, а просто поверьте - специалист видит наперёд все грабли. По этому Вам и был сразу же, первым постом, совет по смене компилятора. Ибо было очевидно, что ничего, кроме шишек, Вы не добьётесь.
Но нет же, мы не хотим, гордость .... :)

PS: Хайтеком уже давно никто не пользуется. И шанс получить совет по нему, на этом форуме, стремится к нулю...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Не получается. Откуда инфа? По моим прикидкам 7 Вольт отжирается от амплитуды. На биполярах с тройкой- пять. А то,что вверху- так там трансформатор хилый и питание ниже, читайте условия измерений. Все смотрят на начальное питание, а измерить напругу под нагрузкой забывают. Тут уже работают паразиты твоей ПП, индуктивность дорожек в частности. Какого ещё ПУ? УН? Так на плате предусмотрено раздельное питание УН и ВК. Кто хочет- может попробовать. Только про антинасыщение я не подумал, но пару диодов навесить можно и так  После банок будет что-то 42-43 Вольта. 
    • На проводках..уже проверял. Там мне надо-то всего 20ватт мощности. А может и меньше..Для питания драйвера ir2184 +повторители.,
    • Какие то странные у вас стереотипы по трансформаторам...ну их количество на киловатт. Я в лёгкую снял 1000ватт со своего преобразователя...На одном трансформаторе. Просто проблематично намотать провод на 200-600ампер на большом сердечнике. Вот и делают по несколько трансформаторов. Да и дорожки это надо как усилить... @VanLux  С четырёх ключей 3205 я снимал 1000ватт на сердечнике R63х38х25, Дорожки медными жилами пропаять..правда от этого плату маленько выгибает.  
    • @Крашер да.некоторые парни малость перебарщивают..но все-таки в этом случае ТС надо бы обратиться к мастеру(что-бы в конец не угробить)..а хамить тут любят..этакие великие Гуру..
    • Сегодня весь вечер провозился с оплатой 50 рублей за микросхемы на Али, с карты Мастеркард. При попытке оплаты выходит вот такое сообщение, а не телефон, вместо суммы, приходит слово "ОТКАЗ":

      При повторных попытках оплаты  постоянно возникает вот такое сообщение:

      Потеряв кучу времени, решил переключить валюту, с рублей на доллары. И чудо... всё стало работать без проблем. Только в телефон, вместо рублей, пришла оплата в долларах. Я оплатил запрошенные 0,78 доллара, пересчитал их потом в рубли по остатку на карте, и получил цену товара, указанную в рублях. Т.е. всё ровно. Ради интереса попробовал переключить валюту на Евро... и получил то же самый ОТКАЗ и те же сообщения, как при попытке оплаты рублями.
      Что это за нововведение Сбербанка,.. для чего оно...  А может это какой-то глюк.. не понятно. Если у кого-то такое было, интересно узнать в чём причина.