Drc error proteus

i'm new to PCB and this my first printed circuit , i cannot understand what the DRC error is telling me , could you help to better read the error log and also help me with this error

Asked
6 years, 7 months ago

Viewed
7k times

$begingroup$

i’m new to PCB and this my first printed circuit , i cannot understand what the DRC error is telling me , could you help to better read the error log and also help me with this error enter image description here

asked Jul 9, 2016 at 15:31

kareem_emad's user avatar

$endgroup$

$begingroup$

This is a clearance rule, specified as 10 thou (the default rule).

On layer I3 in the design, you have a pad overlapping a track or another pad by 6 thou (hence the -6 in the Actual clearance column). The pad in question is highlighted.

The rule highlights errors from different nets.

In this case, you appear to have connected the pad highlighted to a track to pin 7, but the ratsnest shows this should be connected to pin 4.

Community's user avatar

answered Jul 9, 2016 at 15:45

Peter Smith's user avatar

Peter SmithPeter Smith

21.7k1 gold badge28 silver badges62 bronze badges

$endgroup$

Skip to main content

Forum for Electronics

Forum for Electronics

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals… and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

  • Hardware and PCB Design

  • PCB Routing Schematic Layout software and Simulation programs

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

Problem of DRC error in Ares Proteus (have project file)


  • Thread starter

    thanhmssl10


  • Start date

    Jan 5, 2015

Status
Not open for further replies.

  • #1

Newbie level 5

Joined
Jan 1, 2015
Messages
9
Helped
0
Reputation

0

Reaction score
0
Trophy points
1
Activity points

50


  • #2

ud23

Advanced Member level 3

Advanced Member level 3

Joined
Apr 20, 2011
Messages
926
Helped
185
Reputation

370

Reaction score
180
Trophy points
1,323
Activity points

6,138


**broken link removed**
you don’t mention the error type look above link

  • #3

Newbie level 5

Joined
Jan 1, 2015
Messages
9
Helped
0
Reputation

0

Reaction score
0
Trophy points
1
Activity points

50


I don’t know what your mean, i got a DRC error when I connect pin 31 with pin 40 and i can’t find reason of it, see my project file, plz help me,

  • #4

ud23

Advanced Member level 3

Advanced Member level 3

Joined
Apr 20, 2011
Messages
926
Helped
185
Reputation

370

Reaction score
180
Trophy points
1,323
Activity points

6,138


DRC error means Design Rule check related error sorry but I am using protues 8 but I think power pins nets are by default is VCC/VDD so you need to change the net name which you using for pin 31 which is #00025 so change the net name of your pin 40 to #00025 that solve your problem.

To change name you can go in schematic and click controller go in properties and click on hidden pins you see there pin 40 named as VCC changed it to #00025 then no error would be their.

  • #5

  • #6

  • #7

  • #8

Status
Not open for further replies.

Similar threads

  • Hardware and PCB Design

  • PCB Routing Schematic Layout software and Simulation programs

  • This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.

Если хотите, то можете начать этот раздел, перезагрузив файл PPSU.LYT, который представляет собой то, что вы должны сейчас иметь. Вы найдете этот файл в каталоге «SamplesTutorials», где установлен Proteus.

Выберите значок проводник traceПроводник (Trace) и кликните левой кнопкой на выводе 4 операционного усилителя. В этом месте произойдет несколько вещей:

· Появится подсказка в строке состояния, указывающая на то, что вы разводите часть сети «земля».
· Подсветится ближайшая контактная площадка, с которой есть соединение, и линия связи также станет указывать на неё.
· Переключатель проводников автоматически отобразит стиль проводника T25. Это связано со свойством стратегии сети, но пока просто возьмите толщину, заданную по умолчанию для силовых сетей. Заметьте, что это происходит, только если включена опция автовыбора проводника (Auto-Trace Selection) в меню Инструменты (Tools).
· Затенённый проводник будет следовать за курсором — это покажет вам, где будет помещен сегмент дорожки, а также на каком слое, если вы кликните левой кнопкой мыши.
· Наведите курсор на левый вывод C1 и кликните левой кнопкой во второй раз. ARES будет считать, что вы завершили разводку, и заменит линию соединения дорожкой шириной 0,025 дюйма. Снова кликните левой кнопкой на выводе 4 U1, переместитесь вверх на 1 квадрат сетки координат, кликните левой кнопкой, переместитесь на 1 квадрат в сторону нижнего вывода R2 и затем вниз на сам вывод.

a22-1
Разводка от вывода 4 U1 к выводу 2 R2.

ARES в интерактивно контролирует ваш монтаж дорожек и сообщит вам о любом монтаже, который нарушает проектные нормы для печатной платы. В настоящее время мы не имеем никаких нарушений, и вы должны видеть, что это указано в правой нижней части экрана как показано ниже:

a22-2
Интерактивный контроль проектных норм (DRC) сообщает, что нарушений нет.

Если, например, вы кликните правой кнопкой на только что помещенном проводнике (вывод 4 U1 к выводу 2 R2), а затем перетащите центральную часть проводника вниз так, чтобы он пересекал вывод 2 R1 (ясное нарушение), вы увидите, что ARES обнаружит проблему, как только вы отпустите кнопку, и предупредит вас в строке состояния.

a22-3
Интерактивный контроль проектных норм (DRC) сообщает о нарушении.

Один левый клик на сообщении об ошибках в строке состояния запустит средство просмотра DRC (контроля проектных норм), которое отобразит нарушение, допустимое свободное расстояние, установленное в проектных нормах, и фактическое свободное расстояние. Двойной клик на записи в средстве просмотра изменит масштаб изображения печатной платы в месте того нарушения.

Так как в этом случае причина нарушения очевидна и намеренна, просто используйте команду отмены (по умолчанию CTRL+Z), чтобы вернуть печатную плату в правильном состоянии. Заметьте, что, когда вы сделаете это, контроллер DRC вернётся к сообщению об отсутствии нарушений.

i Проектные нормы могут быть установлены независимо для основных стратегий через команду Установить стратегии (Set Strategies) в меню Система (System). Для получения дополнительной информации смотрите ниже стратегии трассировки.

i Интерактивная проверка проектных норм (DRC) — чрезвычайно мощная помощь при формировании разводки, и вместе с настраиваемыми техническими нормами проекта она действует и как превосходное средство обеспечения качества разработки и сокращения времени на трассировку.

Возвратив печатную плату к её предыдущему состоянию, продолжим формировать разводку, соединяя вывод 4 U1 с эмиттером Q2. В этом случае, заметьте, что вы можете не разводить проводник от вывода к выводу — средства альтернативного управления списком соединений дают возможность ARES удалить эту связь, даже если вы проведёте дорожку от эмиттера Q2 до угла дорожки над выводом 4 U1.

Следующее соединение, которое неообходимо сделать — от вывода 2 U1 к R1. Предположив, что мы хотим развести его на верхней стороне печатной платы над нижней строкой выводов U1, нажимаем клавишу «пробел» или среднюю кнопку мыши. Это выбирает другой слой в текущей паре слоёв — в этом случае «верхний медный слой» (Top Copper). Разводите соединение как и прежде, отмечая, что выбранный тип проводника является теперь заданным по умолчанию для сигнальной стратегии (Signal). Также заметьте, что проводник выходит в красном цвете, показывая (с заданными по умолчанию цветами), что он находится на верхнем медном слое. Теперь завершите эту дорожку соединением к R2.

Фактически можно развести эту печатную плату вообще без сквозных отверстий. Однако, для целей обучающей программы мы разведём соединение от вывода 3 U1 к C1, используя два сквозных отверстия. Сначала выберите нижний медный слой (Bottom Copper), нажмите левой кнопкой на выводе 3 U1, а затем дважды кликните левой кнопкой чуть ниже этого вывода. Двойной левый клик в окрестностях вывода размещает сквозное отверстие и также меняет основной и дополнительный слои. Сквозное отверстие размещенное на слое, определяется режимом сквозного отверстия текущей стратегии (нормальный, углубленный или скрытый). Получив одно сквозное отверстие, двигайтесь к выводу цели, дважды кликните левой кнопкой и завершите разводку на нижней стороне печатной платы.

  И в завершение вы можете срезать под углом 45° некоторые проводники или все дорожки платы, чтобы она выглядела более аккуратно, чтобы минимизировать длину проводников, или чтоб избежать замыканий припоем.

Форум РадиоКот • Просмотр темы — Proteus: вопросы и ответы

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:

Автор Сообщение

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Ср май 20, 2015 09:08:00 

Вымогатель припоя

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

Не, дело похоже в том, как полигон обтекает отверстия. Там что на компе что на плате видно — маска круглая, полигон шестиугольником.
На фото с экрана — синее — это полигон земли. И на фото платы видно так де что он шестиугольником и что он из под маски выглядывает

Вложения:


image.jpg [66.17 KiB]

Скачиваний: 618



image.jpg [51 KiB]

Скачиваний: 318

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

alex1126

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Чт май 21, 2015 21:33:31 

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

никто платы не делает из протеуса?

Вернуться наверх
Реклама

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Чт май 21, 2015 21:50:28 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

alex1126 писал(а):

никто платы не делает из протеуса?

Стеклотекстолит то вроде больше подходит…

Вернуться наверх

alex1126

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Чт май 21, 2015 21:57:45 

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

Kabron писал(а):

alex1126 писал(а):

никто платы не делает из протеуса?

Стеклотекстолит то вроде больше подходит…

как он подходит если он диэлектрик?

Вернуться наверх
Реклама

Выгодные LED-драйверы для решения любых задач

КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения.

Подобрать LED-драйвер>>

mazda

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Пт май 22, 2015 00:45:07 

Потрогал лапой паяльник
Аватар пользователя

Карма: -2

Рейтинг сообщений: 1

Зарегистрирован: Сб фев 18, 2012 14:50:22
Сообщений: 382

Рейтинг сообщения: 0

Вернуться наверх
Реклама

Реклама

LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку

На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон.

Подробнее>>

Orion33

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Пт май 22, 2015 13:02:45 

Карма: -25

Рейтинг сообщений: 187

Зарегистрирован: Сб апр 21, 2012 19:21:43
Сообщений: 4753

Рейтинг сообщения: 0

В Протеусе есть ошибка то ли SPI порта, то ли UART0 в режиме SPI — данные из буфера выходят в обратном порядке. Если эти порты используются, то может, что-то с этим связано.

Вернуться наверх

CRAZY_BG

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Ср май 27, 2015 16:17:15 

Зарегистрирован: Чт окт 09, 2014 12:58:40
Сообщений: 1

Рейтинг сообщения: 0

Здравствуйте.Я из Болгарии

Ошибка. Я хочу, чтобы подключить 1 pin pic6f877a сигнал сброса, но он подключен к vcc по умолчанию
Протеус 8.1 drc error no power rail configure to MCLR

Я хочу, сделать эту схему в Proteus и а затем сделать печатную плату

Вернуться наверх

jlovenpk1

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Сб май 30, 2015 02:49:50 

Зарегистрирован: Сб май 30, 2015 02:38:12
Сообщений: 1

Рейтинг сообщения: 0

Здраствуйте, вопрос: — Как реализовать эмуляцию модема на основе Sim300c?
вот схема.
Реально ли? И каким способом?
В библиотеки компонентов sim300c отсутствует.
:shock: Помогите студенту)

Вернуться наверх

igorka

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 19:16:00 

Зарегистрирован: Вс ноя 13, 2011 11:21:23
Сообщений: 216
Откуда: Горловка.

Рейтинг сообщения: 0

Приветствую!Подскажите пожалуйста, как и чем, конвертировать файл EEPROM с расширением /eep/, в файл с расширением /bin/, для работы в протеусе.

Вернуться наверх

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 19:20:40 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

igorka писал(а):

Приветствую!Подскажите пожалуйста, как и чем, конвертировать файл EEPROM с расширением /eep/, в файл с расширением /bin/, для работы в протеусе.

Если его нельзя в ПониПрог сохранить в бинарном виде, то мона взять hex2bin.exe на Keil.com.

Вернуться наверх

alex1126

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 19:37:36 

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

CRAZY_BG писал(а):

Здравствуйте.Я из Болгарии

Ошибка. Я хочу, чтобы подключить 1 pin pic6f877a сигнал сброса, но он подключен к vcc по умолчанию
Протеус 8.1 drc error no power rail configure to MCLR

Я хочу, сделать эту схему в Proteus и а затем сделать печатную плату

Не получится. Пины питания заведены на питание и работать с ними нельзя.

Вернуться наверх

alex1126

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 19:38:49 

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

jlovenpk1 писал(а):

Здраствуйте, вопрос: — Как реализовать эмуляцию модема на основе Sim300c?
вот схема.
Реально ли? И каким способом?
В библиотеки компонентов sim300c отсутствует.
:shock: Помогите студенту)

Если в библиотеке отсутсвует то никак. Либо самому делать логику компонента с самим компонентом

Вернуться наверх

alex1126

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 19:40:11 

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 548

Рейтинг сообщения: 0

igorka писал(а):

Приветствую!Подскажите пожалуйста, как и чем, конвертировать файл EEPROM с расширением /eep/, в файл с расширением /bin/, для работы в протеусе.

А разве протеус не понимает еер? Там вроде модно прям его и указать.

Вернуться наверх

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:01:49 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

alex1126 писал(а):

igorka писал(а):

Приветствую!Подскажите пожалуйста, как и чем, конвертировать файл EEPROM с расширением /eep/, в файл с расширением /bin/, для работы в протеусе.

А разве протеус не понимает еер? Там вроде модно прям его и указать.

А вы создайте тему на эту тему…

Вернуться наверх

igorka

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:07:09 

Зарегистрирован: Вс ноя 13, 2011 11:21:23
Сообщений: 216
Откуда: Горловка.

Рейтинг сообщения: 0

Kabron писал(а):

igorka писал(а):

Приветствую!Подскажите пожалуйста, как и чем, конвертировать файл EEPROM с расширением /eep/, в файл с расширением /bin/, для работы в протеусе.

Если его нельзя в ПониПрог сохранить в бинарном виде, то мона взять hex2bin.exe на Keil.com.

Спасибо, скачал.Но как им пользоваться? :facepalm:

Вернуться наверх

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:21:42 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

igorka писал(а):

Спасибо, скачал.Но как им пользоваться? :facepalm:

Ой, дитятко. Запускаешь «Выполнить->cmd->hex2bin» и получаешь хелп. Не врубилсся, hex2bin file.hex. Сменить расширение у еер на нех. На выходе *.bin

Вернуться наверх

rxstart1

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:31:10 

Вымогатель припоя
Аватар пользователя

Карма: 13

Рейтинг сообщений: 9

Зарегистрирован: Пт фев 22, 2013 18:00:43
Сообщений: 508
Откуда: Беларусь, г. Гомель

Рейтинг сообщения: 0

Подскажите темному, сделал уже пару устройств на МК все работают нормально. Сначала конечно запускал в протезе. Вот вопрос, в протезе всегда таймеры тормозят или это можно как то устранить?

Вернуться наверх

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:46:04 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

rxstart1 писал(а):

Подскажите темному, сделал уже пару устройств на МК все работают нормально. Сначала конечно запускал в протезе. Вот вопрос, в протезе всегда таймеры тормозят или это можно как то устранить?

Там есть специальные не тормозные таймеры. Но это не для темных.

Вернуться наверх

igorka

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:54:49 

Зарегистрирован: Вс ноя 13, 2011 11:21:23
Сообщений: 216
Откуда: Горловка.

Рейтинг сообщения: 0

Kabron писал(а):

igorka писал(а):

Спасибо, скачал.Но как им пользоваться? :facepalm:

Запускаешь «Выполнить->cmd->hex2bin» и получаешь хелп. Не врубилсся, hex2bin file.hex. Сменить расширение у еер на нех. На выходе *.bin

У меня 7, в ней как?Честно, не врубился :oops:

Вернуться наверх

Kabron

Не в сети

Заголовок сообщения: Re: Proteus: вопросы и ответы

СообщениеДобавлено: Вс май 31, 2015 20:59:09 

Открыл глаза
Аватар пользователя

Карма: 2

Рейтинг сообщений: 4

Зарегистрирован: Ср дек 26, 2007 11:21:30
Сообщений: 76

Рейтинг сообщения: 0

igorka писал(а):

У меня 7, в ней как?Честно, не врубился :oops:

Ну извини, работу с командной строкой, здесь объяснять как то не с руки.
Этому по-моему в7 классе учат.

Вернуться наверх

Кто сейчас на форуме

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

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

Спасибо,я понял,вот еще тут нашел- http://radiokot.ru/forum/viewtopic.php?t=3739

Вот еще-

Основная ошибка всех начинающих работать с Протеусом – установка и запуск программы от имени пользователя компьютера, набранного кириллицей. Протеус не дружит с русскими буквами в путях к файлам. Поэтому, если у текущего пользователя имя «Вася», «Мария Ивановна» и т.п. вы рискуете при запуске симуляции получить следующее красное сообщение в окне log:

Cannot open ‘C:DOCUME~1ТЕКПОЛЬЗLocal SettingTempLISAxxx.SDF’

Simulation FAILED due to fatal simulator errors

где вместо ТЕКПОЛЬЗ закорючки. Это объясняется тем, что при запуске симуляции Протеус пытается создать в данной папке свой файл LISAxxx.SDF, но не понимает русские буквы в абсолютном пути. Есть два пути решения этой проблемы:

1)Изменить имя пользователя на английский вариант.

2)Зайти в Мой компьютер=>Свойства=>Дополнительно=>Переменные среды. В верхнем окне, выбрав переменную TEMP, нажать Изменить и вместо %USERPROFILE%

набрать %ALLUSERPROFILE% (при этом необходимо, чтобы в папке Document and SettingAll Users имелись соответствующие папки Local Settings и Temp их можно просто перекопировать из текущего пользователя (папки СКРЫТЫЕ) или создать вручную). Можно по совету Nemo78 изменить путь на %SYSTEMROOT%Temp (именно так без Local Settings), тогда Протеус будет использовать папку TEMP в системном каталоге Windows.

View previous topic :: View next topic  
Author Message
r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

TBLRD message in proteus.
PostPosted: Mon Jul 23, 2018 1:18 pm     Reply with quote

Hi everyone. I’m new in this forum, but frequently i look for some answers.

I’m using CCS V5.078, proteus 8.7 and pic18lf4550. My question is about this message:

[PIC18 MEMORY] PC=0x00A6. Address for TBLRD*- instruction (0x003FFFFD) is not a valid configuration address — zero returned. [U1]

I’m using two rs232, and i want to start the program after 10 seconds. Well… if put this condition, the message shows up and program doesn’t work. When i take off these conditions, the program works fine.

For me this message do not make sense.

Someone could give me some help?

Code:

//==============================================================================

//                          CONFIGURAÇÕES INICIAIS                        

//==============================================================================

#include»18F4550.H»

 

#device   ADC=10   

// Escolher entre AD de 8 ou 10 bits. (escolher apenas um)

#define ADC8

//#define ADC10

//_______________________Configuração do oscilador______________________________

#define CLOCK4   4000000

//#define CLOCK10   10000000

//#define CLOCK16   16000000

#ifdef CLOCK4

#fuses INTRC_IO//XT

#use   delay (clock=4000000)                                       // define clock de operação

#endif

#ifdef CLOCK10

#fuses HS

#use   delay (clock=10000000)                                       // define clock de operação

#endif

#ifdef CLOCK16

#fuses HS

#use   delay (clock=16000000)                                       // define clock de operação

#endif

//______________________________________________________________________________

#fuses   NOWDT,NOPROTECT,NOLVP,NODEBUG,VREGEN,BROWNOUT,CPUDIV1//,LPT1OSC,IESO                     // configurações dos fuses

//________________DEFINIÇÃO DOS PINOS___________________________________________

//______________________________RS232___________________________________________

//#use   RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_C7, errors)//,TIMEOUT=1000)

#use RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_D3,stream=com_gps, errors)//,TIMEOUT=1000)   // habilita comunicação rs232 com o GPS

#use RS232(Baud=9600,xmit=PIN_D7,rcv=PIN_D6,stream=com_sigfox, errors, TIMEOUT=1000)   //

#use RS232(Baud=9600,xmit=PIN_A2,rcv=PIN_A3,stream=com_1, errors,TIMEOUT=1000)

#include «MCP9700.c»

#include «GPS.H»

#include «GPS.C»

//==============================================================================

#define gps_ok_on      output_high(pin_e2)

#define gps_ok_off      output_low(pin_e2)

#define gps_erro_on      output_high(pin_e1)

#define gps_erro_off   output_low(pin_e1)

#define sistema_ok_on      output_high(pin_e0)

#define sistema_ok_off      output_low(pin_e0)

#define sistema_erro_on      output_high(pin_a5)

#define sistema_erro_off   output_low(pin_a5)

#define temp_on            output_high(pin_a1)

#define temp_off         output_low(pin_a1)

//==============================================================================

int buffer[20];

//==============================================================================

int testa_serial()

{

   int i=0,tempout=10;

      while(tempout != 0 && buffer[i] != 0x0D)

      {

         i++;

         buffer[i] = fgetc(com_sigfox);

         tempout—;

      }

   if(tempout == 0)

   {

      return 0;

   }

   return i;

}

//==============================================================================

void main(void)

{

   int1 continua=0;

   int dado,cont,ok,i,tentativas=0,j,qtd;

   int16 tempo;

#ifdef CLOCK4

   int ContTMR0 = 5;

   SETUP_TIMER_0(RTCC_INTERNAL | RTCC_DIV_4 | RTCC_8_BIT );

#endif

#ifdef CLOCK10

   int ContTMR0 = 101;

   SETUP_TIMER_0(RTCC_INTERNAL | RTCC_DIV_16 | RTCC_8_BIT );

#endif

#ifdef CLOCK16

   int ContTMR0 = 5;

   SETUP_TIMER_0(RTCC_INTERNAL | RTCC_DIV_16 | RTCC_8_BIT );

#endif

   SET_RTCC(ContTMR0);

   ENABLE_INTERRUPTS(INT_TIMER0);

   ENABLE_INTERRUPTS(GLOBAL);

   temp_off;   // alimentação do sensor desligada

   delay_ms(1000);

   fprintf(com_1,»rn>>ATrn»);

   fprintf(com_sigfox,»rnATn»);     

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»rn>>GET ID:rn»);

   delay_ms(1);

   fprintf(com_sigfox,»AT$I=10n»);     

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»rn>>GET PAC:rn»);

   delay_ms(1);

   fprintf(com_sigfox,»AT$I=11n»);     

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»>>AT$DR=905200000rn»);

   fprintf(com_sigfox,»AT$DR=905200000n»);     // seleciona frequencia

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»>>ATS400=<000001FF><00000000><00000000>,1rn»);

   fprintf(com_sigfox,»ATS400=<000001FF><00000000><00000000>,1n»);  // salva configuração

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»>>AT$WRrn»);

   fprintf(com_sigfox,»AT$WRn»);   // salva configuração

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   fprintf(com_1,»>>AT$RCrn»);

   fprintf(com_sigfox,»AT$RCn»);   // reset o canal

   qtd = testa_serial();

   fprintf(com_1,»<<«);

   for(j=1;j<qtd;j++)

   {

      fprintf(com_1,»%C»,buffer[j]);

   }

   fprintf(com_1,»rn»);

   while(1)

   {

      fprintf(com_1,»>>AT$GI?rn»);

      fprintf(com_sigfox,»nAT$GI?n»);

      qtd = testa_serial();

      fprintf(com_1,»<<«);

      for(j=1;j<qtd;j++)

      {

         fprintf(com_1,»%C»,buffer[j]);

      }

      fprintf(com_1,»rn»);

      if(buffer[0] == ‘0’ || buffer[2] < 3)

      {

         fprintf(com_sigfox,»nAT$RCn»);

      }

      else

      {

         fprintf(com_1,»>>AT$SFrn»);

         fprintf(com_sigfox,»nAT$SF=»);

         fprintf(com_sigfox,»%X%X%X%Xn»,3,1,3,2);

         qtd = testa_serial();

         fprintf(com_1,»<<«);

         for(j=1;j<qtd;j++)

         {

            fprintf(com_1,»%C»,buffer[j]);

         }

         fprintf(com_1,»rn»);

      }

      delay_ms(5000);

   }

}

temtronic

Joined: 01 Jul 2010
Posts: 8706
Location: Greensville,Ontario

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 2:03 pm     Reply with quote

Please clarify, the message appear in the Proteus simulation or in realtime, using real hardware ?
r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 2:52 pm     Reply with quote

Hi. This message appers in simulation and the program comunication doesn’t work. When execute any routine from rs232, the message shows again. When i program the pic and put it to work in real world, doesn’t work.
r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 3:37 pm     Reply with quote

temtronic wrote:
Please clarify, the message appear in the Proteus simulation or in realtime, using real hardware ?



Hi. This message appers in simulation and the program comunication doesn’t work. When execute any rotine from rs232, the message shows again. When i program the pic and put it to work in real world, doesn’t work.

This is a print https://www.flickr.com/photos/raphaeldc/28710333947/in/dateposted-public/

PCM programmer

Joined: 06 Sep 2003
Posts: 21687

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 3:49 pm     Reply with quote

Quote:
My question is about this message:

[PIC18 MEMORY] PC=0x00A6. Address for TBLRD*- instruction (0x003FFFFD) is not a valid configuration address — zero returned. [U1]



It’s probably a Proteus bug.

Quote:
ENABLE_INTERRUPTS(INT_TIMER0);

ENABLE_INTERRUPTS(GLOBAL);



I don’t see an #int_timer0 interrupt routine in your posted code.

Do you have one ? You need it.

All of these are software UARTs:

Quote:

#use RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_D3,stream=com_gps, errors)//,TIMEOUT=1000) // habilita comunicação rs232 com o GPS

#use RS232(Baud=9600,xmit=PIN_D7,rcv=PIN_D6,stream=com_sigfox, errors, TIMEOUT=1000) //

#use RS232(Baud=9600,xmit=PIN_A2,rcv=PIN_A3,stream=com_1, errors,TIMEOUT=1000)



Read about the DISABLE_INTS parameter in the CCS manual:

Quote:
DISABLE_INTS —

Will cause interrupts to be disabled when the routines get or put a

character. This prevents character distortion for software implemented I/O

and prevents interaction between I/O in interrupt handlers and the main

program when using the UART.



You need to add the parameters shown in bold below:

Quote:
#use RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_D3,stream=com_gps, errors, DISABLE_INTS)

#use RS232(Baud=9600,xmit=PIN_D7,rcv=PIN_D6,stream=com_sigfox, errors, TIMEOUT=1000, DISABLE_INTS)

#use RS232(Baud=9600,xmit=PIN_A2,rcv=PIN_A3,stream=com_1, errors,TIMEOUT=1000, DISABLE_INTS)

You appear to have only one fgetc() statement:

Quote:
buffer[i] = fgetc(com_sigfox);



Because it uses a software UART, it will sit and wait for an incoming

character. During that time, interrupts will be disabled (if you use the

DISABLE_INTS parameter). For this reason, the com_sigfox stream

should be configured for a hardware UART. i.e., xmit=PIN_C6, rcv=PIN_C7.

temtronic

Joined: 01 Jul 2010
Posts: 8706
Location: Greensville,Ontario

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 5:25 pm     Reply with quote

Now you KNOW why a lot of us keep saying DO NOT USE PROTEUS !

It doesn’t work properly, it’s busted, broke,incomplete..

Even the ‘schematic’ is in error… build it as shown, it cannot work.

Also, unless you’re need to use the internal USB of the 4550, use another PIC and a $2 USB<>TTL module. Cheaper hardware, NO software and NO codespace required.

Jay

r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 5:58 pm     Reply with quote

PCM programmer wrote:
Quote:
My question is about this message:

[PIC18 MEMORY] PC=0x00A6. Address for TBLRD*- instruction (0x003FFFFD) is not a valid configuration address — zero returned. [U1]



It’s probably a Proteus bug.

Quote:
ENABLE_INTERRUPTS(INT_TIMER0);

ENABLE_INTERRUPTS(GLOBAL);



I don’t see an #int_timer0 interrupt routine in your posted code.

Do you have one ? You need it.

All of these are software UARTs:

Quote:

#use RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_D3,stream=com_gps, errors)//,TIMEOUT=1000) // habilita comunicação rs232 com o GPS

#use RS232(Baud=9600,xmit=PIN_D7,rcv=PIN_D6,stream=com_sigfox, errors, TIMEOUT=1000) //

#use RS232(Baud=9600,xmit=PIN_A2,rcv=PIN_A3,stream=com_1, errors,TIMEOUT=1000)



Read about the DISABLE_INTS parameter in the CCS manual:

Quote:
DISABLE_INTS —

Will cause interrupts to be disabled when the routines get or put a

character. This prevents character distortion for software implemented I/O

and prevents interaction between I/O in interrupt handlers and the main

program when using the UART.



You need to add the parameters shown in bold below:

Quote:
#use RS232(Baud=9600,xmit=PIN_C6,rcv=PIN_D3,stream=com_gps, errors, DISABLE_INTS)

#use RS232(Baud=9600,xmit=PIN_D7,rcv=PIN_D6,stream=com_sigfox, errors, TIMEOUT=1000, DISABLE_INTS)

#use RS232(Baud=9600,xmit=PIN_A2,rcv=PIN_A3,stream=com_1, errors,TIMEOUT=1000, DISABLE_INTS)

You appear to have only one fgetc() statement:

Quote:
buffer[i] = fgetc(com_sigfox);



Because it uses a software UART, it will sit and wait for an incoming

character. During that time, interrupts will be disabled (if you use the

DISABLE_INTS parameter). For this reason, the com_sigfox stream

should be configured for a hardware UART. i.e., xmit=PIN_C6, rcv=PIN_C7.

In this code, I’m not using timer yet. I’ll remove it and test again.

As the spi and uart are in the same pin in 18f4550, i left the spi and changed the uart.

I’ll clean up the code and test your suggestions.

r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Mon Jul 23, 2018 6:11 pm     Reply with quote

temtronic wrote:
Now you KNOW why a lot of us keep saying DO NOT USE PROTEUS !

It doesn’t work properly, it’s busted, broke,incomplete..

Even the ‘schematic’ is in error… build it as shown, it cannot work.

Also, unless you’re need to use the internal USB of the 4550, use another PIC and a $2 USB<>TTL module. Cheaper hardware, NO software and NO codespace required.

Jay

Unfortunately this is the way that i see to check the code before program the hardware.

I only have this pic, but i’m looking for another one that has more memory than this and don’t have usb. Do you can recommend another pic? I bought the pic18lf47k42. Have you use it? And… how could i test my programs without proteus?

Ttelmah

Joined: 11 Mar 2010
Posts: 18385

View user's profile
Send private message

PostPosted: Tue Jul 24, 2018 1:48 am     Reply with quote

Almost certainly the error is having the interrupt enabled with no handler.

However there is an issue with your clock settings. You have ‘CLOCK4’ selected. This selects INT_RC. The default clock given by INT_RC on this chip is 8MHz, not 4MHz….

This will stop the serials from working in the ‘real’ chip.

I don’t think Proteus will work with software UART’s which you are using, so the code is not going to work in Proteus.

The 18x47K42 is a nice chip.

However are you going to be building at 3.3v?. The LF version you have is rated for 3.6v _max_. Also you are going to have to learn how to use #PIN_SELECT (look at the sticky at the top of the forum), since most peripherals on this use PPS.

temtronic

Joined: 01 Jul 2010
Posts: 8706
Location: Greensville,Ontario

View user's profile
Send private message

PostPosted: Tue Jul 24, 2018 5:04 am     Reply with quote

comments.

I’ve been using the PIC18F46K22 for a few years,even for small projects. Back then it seemed lke a good choice. 40 pins so lots of I/O, 2 hardware UARTs( almost necessary today), 64K of memory, lots of RAM and a fast,internal clock. I dedicate the ICSP pins to just ICSP, typically use a 20×04 LCD module, I2C RTC, 3×4 KPD,USB<>TTL for PC data and other stuff and have never run out of pins.There’s also one for the ‘1Hz flashing LED’ ! By staying with one PIC, I’ve built up a library of known,solid functions and drivers so very little time is spent on ‘why doesn’t this work’ problems associated with the ‘newest and bestest’ PIC.

I remember when the 4550 came out, one of the first with internal USB. Quickly decided it was better to use an external USB<>TTL module. The benefits included it was cheaper($2) than buying all the parts(connector,reistors,LEDs,etc.) and integrating onto a PCB.Flipping D+ and D- wasn’t fun either ,arrgh. From the software side, no ‘driver’ is required,all the magic is done inside the module. You also save codespace. I recall the full CCS driver took maybe 1/4 or mode of EEPROM. A hardware benefit is that any I/O pins can become USB pins,though not interrupt driven,you can code around that.

As for simulation, I let the Real World show me what’s going on. I started programming on PDP8s with teletypes and papertape. Back then you did a lot of ‘simulation’ using paper and pencil BEFORE punching any tape. The huge problem with Proteus is that it is NOT reliable.100s of flaws,bad DRC,errors yet people still use it,beliving that what it says is true. Hardware these days is inexpensive,even I now buy modules from China as I can’t buy parts and make a PCB for them.

The 46K22 has a 28 pin smaller sister,just fewer pins but simialr features. Also that PIC will run 3 and 5 vlts, so it’s compatible with external peripherals that all seem to be 3 volt devices. I’ve even got 5V LCD modules to run on 3V PICs, needs 4 small parts and a clock source. needed to do that as 3 volt LCDs are $$$!

Jay

r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Tue Jul 24, 2018 5:23 am     Reply with quote

Ttelmah wrote:
Almost certainly the error is having the interrupt enabled with no handler.

However there is an issue with your clock settings. You have ‘CLOCK4’ selected. This selects INT_RC. The default clock given by INT_RC on this chip is 8MHz, not 4MHz….

This will stop the serials from working in the ‘real’ chip.

I don’t think Proteus will work with software UART’s which you are using, so the code is not going to work in Proteus.

The 18x47K42 is a nice chip.

However are you going to be building at 3.3v?. The LF version you have is rated for 3.6v _max_. Also you are going to have to learn how to use #PIN_SELECT (look at the sticky at the top of the forum), since most peripherals on this use PPS.

Yes. The problem was that. I removed the command to enable interrupts and it worked. I enabled and put the routine and it worked.

And yes, I’m building in 3.3V.

r4ph431dc

Joined: 23 Jul 2018
Posts: 7
Location: Natal,RN-Brazil

View user's profile
Send private message

PostPosted: Tue Jul 24, 2018 5:30 am     Reply with quote

temtronic wrote:
comments.

I’ve been using the PIC18F46K22 for a few years,even for small projects. Back then it seemed lke a good choice. 40 pins so lots of I/O, 2 hardware UARTs( almost necessary today), 64K of memory, lots of RAM and a fast,internal clock. I dedicate the ICSP pins to just ICSP, typically use a 20×04 LCD module, I2C RTC, 3×4 KPD,USB<>TTL for PC data and other stuff and have never run out of pins.There’s also one for the ‘1Hz flashing LED’ ! By staying with one PIC, I’ve built up a library of known,solid functions and drivers so very little time is spent on ‘why doesn’t this work’ problems associated with the ‘newest and bestest’ PIC.

I remember when the 4550 came out, one of the first with internal USB. Quickly decided it was better to use an external USB<>TTL module. The benefits included it was cheaper($2) than buying all the parts(connector,reistors,LEDs,etc.) and integrating onto a PCB.Flipping D+ and D- wasn’t fun either ,arrgh. From the software side, no ‘driver’ is required,all the magic is done inside the module. You also save codespace. I recall the full CCS driver took maybe 1/4 or mode of EEPROM. A hardware benefit is that any I/O pins can become USB pins,though not interrupt driven,you can code around that.

As for simulation, I let the Real World show me what’s going on. I started programming on PDP8s with teletypes and papertape. Back then you did a lot of ‘simulation’ using paper and pencil BEFORE punching any tape. The huge problem with Proteus is that it is NOT reliable.100s of flaws,bad DRC,errors yet people still use it,beliving that what it says is true. Hardware these days is inexpensive,even I now buy modules from China as I can’t buy parts and make a PCB for them.

The 46K22 has a 28 pin smaller sister,just fewer pins but simialr features. Also that PIC will run 3 and 5 vlts, so it’s compatible with external peripherals that all seem to be 3 volt devices. I’ve even got 5V LCD modules to run on 3V PICs, needs 4 small parts and a clock source. needed to do that as 3 volt LCDs are $$$!

Jay

Ok. Thank you so much for your reply. I’ll buy some to test.

Thanks a lot guys!

Display posts from previous:   

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

16.03.2020 в 03:30, gogaze сказал:

Поделитесь полезнымы мыслями, пожалуйста.

Зашёл через Гугла под  своим настоящим именем, т.к. лень восстанавливать пароль, но если кто помнит FAQ по Протеусу, то это я — Halex (на Казусе с индексом 07). Как видите, пока ещё жив.

Лучше поздно, чем никогда… В последнем Протеусе 8.9 библиотеке текстовых дисплеев LCDALPHA.DLL наконец «удалили гланды». Если в более ранних  для воспроизведения кириллицы приходилось «допиливать» сам файл библиотеки сторонней утилитой, то теперь chasrset (он же — набор символов) можно менять на лету через свойства модели в проекте. Т.е.  родные-то гланды остались на месте, они встроены в исходный DLL, но по мановению хвостатой их всегда можно изменить хоть на «китайский традиционный». Ну, а картинка с кириллицей, которую раньше запихивали в принудительно-исправительной («колонии») утилите теперь выбирается в свойствах модели LCD.

Она лежит в папке примера: Labcenter ElectronicsProteus 8 ProfessionalDATASAMPLESVSM for AVRArduino Cyrillic LCD в стандартной поставке Протеуса и  обзывается cyrillic.bmp. Если в лом лазить по такому длинному пути часто, просто скопируйте этот файл в более «удобоваримую» папку ту же BIN или в корень DATA. Тут уже по желанию пользователя… Ну, и остаётся выбрать набор с русскими символами (когда требуется) в свойствах экранчика см. скриншот. Всё делается на раз, два, три, четыре — как в утренней зарядке в период самоизоляции.

charset.jpg


Изменено 27 мая, 2020 пользователем Алексей Христианчик

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Dram func c 58 error xerox 3300
  • Dram fsb ratio как изменить
  • Dram frequency как изменить
  • Dram calculator for ryzen error not supported
  • Drakensang река времени nebula3 system error

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии