Помилуй Бог! Я не модератор. Но ты уже наговорил столько, что месяц отдыха покажутся мигом. А насчет ПИКов ты себя уже проявил. Трудно найти что либо более нелепое... Практически всё, о чем ты тут рассказывал, оказалось пургой. Ну разве только #pragma попала в масть, да и то это легко находится в онлайн мануале на 18-е... #pragma - это костыль компилятора для реализации ненативных для компилятора сущностей.
Это какую структуру Вы имеете ввиду? Ту - которую объявили при создании проекта?
#include <p24EP256GP204.h>
Так ДА! я с ней работаю а иначе - проц не поймёт даже названия своих SFR регистров. А в современных даташитах на процы - не во всех есть описание (физическое) расположение этих регистров, поэтому, без такого файла - ВЫ ЛИЧНО хрен даже проц проинициализируете
Ну, смотря какого уровня. Да и гугл сейчас выдаст массу вариантов готовых каких-то решений, достаточно немного усилий и поверхностных знаний чтобы собрать что-то, удовлетворяющее заказчика.
Не, ну вообще - молодцы! Сами с собой тут перепихнули (сь), любому, кто вошёл туфту втёрли :) А если кто-то со своим мнением, то можно налечь, и убедить что неправ, при этом - необязательно доказать физически, достаточно рейтинга :) да, КРАБ ? :) Ладно, не нравиться правда, больше не буду приходить в течение года :) Мне же по барабану :) А кому нужна будет помощь, найдёте по адресу: aleks1102x@yandex.by
Зачем что-либо доказывать? приведенная мною цитата из Вашего сообщения сама всё доказывает. Помимо остального текста. А КРАМ старательно пытался объяснить, но тщетно... И небольшой совет: не публикуйте адрес почты в явном виде.
Любезный, мнение - это когда про художественную литературу или про девушку. В технике (и науке, тоже) не бывает мнений. Бывает предположение, доказательство, аксиома, норма и т.п. сущности, которые противоречат мнению. Разве только могут быть предпочтения при выборе интерфейса программ... Но когда ты начинаешь нести ахинею про структуры, прикрываясь "мнением", то это выглядит просто клоунадой неадекватного персонажа.
Ладно, не нравиться правда, больше не буду приходить в течение года
Не впадай в крайности. Мне вот лично нравится правда. Создай свою тему и рули там. Что-то в стиле "советы мастера ", "правда о блоках"...... итд. Уверен, мало кто пройдёт мимо.
Ну, смотря какого уровня. Да и гугл сейчас выдаст массу вариантов готовых каких-то решений, достаточно немного усилий и поверхностных знаний чтобы собрать что-то, удовлетворяющее заказчика.
Извините, влезу последний раз в этом году. Уровень у меня ниже плинтуса, я ленивый, поэтому, если что-то закажут, тогда новый модуль использую в мк, а иначе никак Поэтому, MCCP, USART, ADC, DAC, Vref, PWM, Timers, ну и тому подобное использую. Более новое - нет, потому как никто пока ничего не заказывал. https://drive.google.com/file/d/103Df9O ... drive_link И там в архиве только то, что ну с индикаторами, потому как на автосервисы много делаю простых платок, и смысла показывать нету ... И мне по барабану тот Гугел Если есть непонятки по какому-то модулю, то в помойке под названием "интернет" обычно ничего не найдёшь - спасают только даташиты, и https://www.translate.ru/ - плохо я знаю англицкий Ну бывает - нарвёшься на что-то путное, но я всё равно - прочитаю, в смысл вникну, и сделаю по своему. Вот как-то так ...
если что-то закажут, тогда новый модуль использую в мк, а иначе никак Поэтому, MCCP, USART, ADC, DAC, Vref, PWM, Timers, ну и тому подобное использую. Более новое - нет, потому как никто пока ничего не заказывал. ..
Модули не заказывают. Заказывают функционал изделия. А как он реализован и на каких модулях - дело разработчика. Поэтому, например, при реализации генератора с высоким разрешением один ставит внешний DDS, а другой использует внутренний NCO в сочетании с PWM.
Заголовок сообщения: Re: Програмирование pic на СИ.
Добавлено: Вт сен 05, 2023 17:31:41
Нашел транзистор. Понюхал.
Карма: 3
Рейтинг сообщений: 21
Зарегистрирован: Чт ноя 26, 2015 23:22:35 Сообщений: 158 Откуда: не с Уфы
Рейтинг сообщения:0
Сейчас переместил определение в основной цикл - ничего не изменилось, даже хэш тот же. В принципе оно и справедливо. Это же const. Как его видимость может на что-то влиять.......
Вообще, на этот феномен натолкнулся случайно. Решил немножко подмодифицировать старый код и в числе прочего перенести всё из eeprom во flash ..... и вот на копировании в EEADR остановился. Разумеется, пробовал разное, что в голову приходило, попутно делал и другие изменения, адреса менялись, но проблема оставалась....... На данный момент, например, компилятор эту константу разместил по 0x7C5
дает в итоге: IMP== 0x8006 // иногда бывает 0x8005, как-то зависит от других изменений в коде EEADR==0xC5 //что правильно, но бывает и 0x05||0x06 в EEADRH нули // что не правильно, но бывало и 0x80
чип 16f886
Но стоит только зафиксировать адрес, скажем на 0x7D0, то сразу получаю в тех регистрах 0x87D0, что абсолютно верно.
Ладно, не нравиться правда, больше не буду приходить в течение года :)
Не впадай в крайности. Мне вот лично нравится правда. Создай свою тему и рули там. Что-то в стиле "советы мастера ", "правда о блоках"...... итд. Уверен, мало кто пройдёт мимо.
Нет времени темы возглавлять. Проще - зайти пару раз в неделю/месяц, и помочь кому-то, ну, если есть возможность помочь ...
Ты же ничего не изменил... У него и без volatile все нормально работает. Вопрос был про отсутствие абсолютного адреса. А ты просто заменил символ @ на __at.
Ты же ничего не изменил... У него и без volatile все нормально работает. Вопрос был про отсутствие абсолютного адреса. А ты просто заменил символ @ на __at.
В адресе _ почти ничего : если не считать что там была ошибка - адрес для пик16-18 в любом случае это не "uint8_t", и значение он собирался сохранить 16-ти значное ... А вот после ... человек обращается к значению того адреса - младшего, ну в принципе - нормально ... А вот дальше !!! Он пытается считать старший байт ВОСЬМИ-битного регистра Даже не так ! Там написана БЕЛЕБЕРДА Есть желание (КРАМ), то расшифруйте - что там написано
А в остальном - ДА! - одно и то же
const uint8_t R1 @0x18D0=0xAA; - вот это ЧТО? По адресу 0x18D0 записать значение 0хАА ? правильно ?
ну понятно, что: следующая команда будет корректной - будет считано 0хАА, а вот следующая команда - это НЕЧТО! В восьмибитный байт "ADRESH" загрузить 16-ти битную пародию .... константы, которая уже закончилась (она была восьмибитной) ... да там вообще не читаемо ....
Немного может не в тему, но чем отличается "@" и "__at() : Я не уверен, что просто объявив адрес напрямую "@" - после компиляции - проц запустится ?!? Просто к примеру, в том месте ПЗУ на данный момент находилась уже прошивка (некий код, который туда кинул ХС8) ... Вот через "__at" я точно уверен, что МПЛАБ подвинется, а через прямую вставку адреса ... да хер его знает ...
Последний раз редактировалось ALEKS1102X Вс сен 10, 2023 16:47:20, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения