Змінюй хід війни! Допомагай ЗСУ!

Электрофлуд :)

  • Автор теми Автор теми RUH
  • Дата створення Дата створення
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.




Шкода, що тему потерли, але, здається, хід думок в цього дятла правильний :D Хоча я порадив би йому зразу прямо до акумулятора :D:D:D
 
Останнє редагування:
Угу, и держать его зубами.
 
А не завалялось у кого подобных герконовых датчиков? Или где взять подскажите. Чтото я у нас только огромные нашел.
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.




Шкода, що тему потерли, але, здається, хід думок в цього дятла правильний :D Хоча я порадив би йому зразу прямо до акумулятора :D:D:D

Главное в подключении детонатора к рации - шумодав по ниже выставить. Лучше - вообще на единичку. А-то, если завысить, то может не сработать, и дальность падает...
В новопороссии можно шумодав при этом деле вообще отключать, глевное - отключать сразу после установки детонатора.

Попробовал у себя - прошло. Да и всегда так делаю. (HI-TECH C V9.60PL6)..

Понятно, у меня XС8.
Там через прагму, так что спасибо отписавшимся!

А загнать просто в хексе, не?

Просто в хексе - да, но не кошерно же...
 
Останнє редагування:
Ай нид хелп виз грёбаный микрочип!
Есть тут кто-нибудь?
Всё бегает в симуляторе в MPLAB x IDE и ни хера не бегает в камне. Вообще. Грёбаный хэллоу ворлд не работает.

Я чего-то не понимаю.
Если есть кто - суну сюда код, бо я моск сейчас сломаю...
 
Рес, плюнь на гребаный некрочип :)

Если не бегает в камне, возможно проблема ээээ... с тактированием?
 
Рес, плюнь на гребаный некрочип :)

Если не бегает в камне, возможно проблема ээээ... с тактированием?

Это первый и последний мой раз, когда я беру в руки эту поебень. НО! Их таки валяется на складе на несколько тысяч гривен и их надо куда-то сплавить. А чтобы их сплавить - на них надо что-то написать, поскольку то, что когда-то на них было - уже к *****м снято с производства и заменено на нормальное.

Тактирование ядра, скорее всего. Я сначала думал, что с таймером веду себя неправильно, однако сделал программный делей и... ни хрена не поменялось.
Конфиги хавает нормально - включается отключается кварц, кварц молотит исправно, но... прога не бежит. И не бежит как-то странно...
Вот в начале мэйн инициализация порта - проходит. То есть, я трис и порт переставляю - меняется их поведение, но, сцуко, только один раз и-то неправильно.
Может мне оптимизыция выкинула мэйнлуп? Так нет - симулятор бодро скачет и даже отрабатывает прерывание

Короче, какая-то неведомая хрень, или я что-то не включил.



P.S. А с банками там что-то надо делать? А-то я в pdf вижу аж несколько TRIS...
 
Останнє редагування:
А с банками там что-то надо делать? А-то я в pdf вижу аж несколько TRIS
О каком PIC идет речь? В 628-ом, например, TRIS находится в первом банке. И перед обращением к TRIS нужно проследить, чтобы был именно первый банк. Есть регистры, которые находятся в обоих банках... За банками нужно следить, как правило, при написании программы на asm. Компиляторы Си сами вставляют в код переключение банков.
 
О каком PIC идет речь? В 628-ом, например, TRIS находится в первом банке. И перед обращением к TRIS нужно проследить, чтобы был именно первый банк. Есть регистры, которые находятся в обоих банках... За банками нужно следить, как правило, при написании программы на asm. Компиляторы Си сами вставляют в код переключение банков.

16F628A
Я в С пишу.

Ну, проблема #1 решилась - теперь перед входом в мэйнлуп выводы задаются правильно. Некто спёр конденсатор фильтра с платы. Пик отказался работать на одной керамике, вернул на место электролит - теперь работает следующая часть кода:

Код:
int main(int argc, char** argv) {
INTCON = PIE1 = 0;  // Пока запрет всех прерываний
PCON |= 0b00001000;
    timer=0;
        ticktimer=0;
             flags=0;
                unsigned char sourceTMR0 = PRELOAD;// начальное значение TMR0 131
     OPTION_REG=0x00;
    PIE1 = 0x00;//забили прерывания от периферии (кроме Т0)
    INTCON |= 0b11100000; //разрешили прерывания от T0
OPTION_REG=0b00000100;
//-------------------------------------------------------------
    PORTA=0x00;// Порт A - на выход и в ноль.
    TRISA=0x00;

    TRISB=0b00000000;
    PORTB=0b11110000;

  //  VRCON=1;//отключили источник опорного


    while(1)
    {.....

В while(1) что не вставляю - не отрабатывается.
Похоже, оптимизация оттуда все выкидывает.
НО! Если я там ставлю просто PORTB=0bxxxxxxxx;
оно отрабатвается. В любом цикле, или по прерыванию - нет.
Код:
        if (PORTB==0xFF)
           {
               PORTB=0x00;
           }
           else
           {
               PORTB=0xFF;
           }
работать не хочет ни в какую.



//---------------------------------------


Стоп... стесняюсь спросить - а читать так порт, как я, можно?
Потому как - если я дёргаю одной ногой и читаю RB0, а по нем инвертирую - всё работает!



Да, так просто - нельзя. Надо сначала было включить PGM в качестве GPIO.
А в атмеле не так... там если в порт что-то ляпнул - оно там в регистр и запишется, а если надо читать состояние - там ещё регистр... Вопля какая.
 
Останнє редагування:
работать не хочет ни в какую.
Вы привели лишь фрагмент кода. Пришлось убрать "лишнее", так работает. В симуляторе. Но я уверен, что будет и в железе, могу запустить на макете, если актуально.
Лишнее в данном случае это разрешение прерываний без их обработки.
Что касается регистров, то в PIC есть особенность. "Все операции записи в порт выполняются по принципу "чтение-модификация-запись", т.е. сначала производится чтение состояния выводов порта, затем изменение и запись в защелку". По Вашему фрагменту кода и без схемы непонятно, скорее всего этот нюанс ни при чем.
Код:
#include <pic.h>
//------------------------------------------------------------------------------
int main(int argc, char** argv) {
__CONFIG(WDTDIS & HS & UNPROTECT & BORDIS & MCLRDIS & LVPDIS);
INTCON = PIE1 = 0;  // Пока запрет всех прерываний
PCON |= 0b00001000;
//    timer=0;
//    ticktimer=0;
//    flags=0;
//unsigned char sourceTMR0 = PRELOAD;// начальное значение TMR0 131
    PIE1 = 0x00;//забили прерывания от периферии (кроме Т0)
//    INTCON |= 0b11100000; //разрешили прерывания от T0
OPTION=0b00000100;
//-------------------------------------------------------------
    PORTA=0x00;// Порт A - на выход и в ноль.
    TRISA=0x00;
    TRISB=0b00000000;
    PORTB=0b11110000;
  //  VRCON=1;//отключили источник опорного
	//бесконечный цикл
   while(1) {
        if (PORTB==0xFF)
           {
               PORTB=0x00;
           }
           else
           {
               PORTB=0xFF;
           }
   }
 
Вы привели лишь фрагмент кода. Пришлось убрать "лишнее", так работает. В симуляторе. Но я уверен, что будет и в железе, могу запустить на макете, если актуально.
Лишнее в данном случае это разрешение прерываний без их обработки.
Что касается регистров, то в PIC есть особенность. "Все операции записи в порт выполняются по принципу "чтение-модификация-запись", т.е. сначала производится чтение состояния выводов порта, затем изменение и запись в защелку". По Вашему фрагменту кода и без схемы непонятно, скорее всего этот нюанс ни при чем.
Код:
#include <pic.h>
//------------------------------------------------------------------------------
int main(int argc, char** argv) {
__CONFIG(WDTDIS & HS & UNPROTECT & BORDIS & MCLRDIS & LVPDIS);
INTCON = PIE1 = 0;  // Пока запрет всех прерываний
PCON |= 0b00001000;
//    timer=0;
//    ticktimer=0;
//    flags=0;
//unsigned char sourceTMR0 = PRELOAD;// начальное значение TMR0 131
    PIE1 = 0x00;//забили прерывания от периферии (кроме Т0)
//    INTCON |= 0b11100000; //разрешили прерывания от T0
OPTION=0b00000100;
//-------------------------------------------------------------
    PORTA=0x00;// Порт A - на выход и в ноль.
    TRISA=0x00;
    TRISB=0b00000000;
    PORTB=0b11110000;
  //  VRCON=1;//отключили источник опорного
	//бесконечный цикл
   while(1) {
        if (PORTB==0xFF)
           {
               PORTB=0x00;
           }
           else
           {
               PORTB=0xFF;
           }
   }

Да, благодарю за участие :) Всё ещё вчера за работало.
Ньюанс оказался в том, что в пике, в отличие от атмела, чтение и запись происходит через один и тот же видимый мне регистр. PGM был активен как PGM, соответственно, он как пин ни чего не делал и читался всегда как "0". Естественно, что сравнение всего порта с FF ни когда не происходило в "да".
Я забил его как пин и всё заработало.

Но что удивило и не порадовало - симулятор ни чего об этом не знал и в симуляторе все работало. Хотя, он мог бы и догадаться, что с пина, который задан как PGM, если в него 1 записать, то все равно 0 прочитается. В атмеле с симулятором в этом плане по лучше дело обстоит.
 
Заказал себе для творчества вот таких фиговин:

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


Цена интересная, посмотрим что оно такое за зверь.
 
Заказал себе для творчества вот таких фиговин:

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


Цена интересная, посмотрим что оно такое за зверь.

Интересовался сегодня подобным.
$18 в Украине с НДС, не такой точно модуль.
 
Интересовался сегодня подобным.
$18 в Украине с НДС, не такой точно модуль.

Ну, у нас умеют "поднимать" на ровном месте.

Пользуясь моментом, хочу напомнить о моем вопросе, про страшную тайну, касающуюся местоположения добычи дешевого GSM и GPS модуля у нас в Харькове! :)
 
Да обычный фай-фай-уарт, умеет только подключаться к другому и слать отдельные байты или в лучшем случае их группы( не пакеты).

Цена интересна. В несколько раз дешевле аналогичных модулей.
У нас вижу по 110-150 грн такие же, но в исполнении с штыревым разъемом.
 
Останнє редагування:
Ну, у нас умеют "поднимать" на ровном месте.

Пользуясь моментом, хочу напомнить о моем вопросе, про страшную тайну, касающуюся местоположения добычи дешевого GSM и GPS модуля у нас в Харькове! :)

Написал вам в личку.

Да обычный фай-фай-уарт, умеет только подключаться к другому и слать отдельные байты или в лучшем случае их группы( не пакеты).
Иногда этого хватает.
 
Поймаю сверчка - посажу
В бутылку с дешёвым портвейном.
Что ж не пиликаешь, *******?

После общения с ненаистным микрочипом решил дома оттянуться на любимом атмеле.

Attiny2313-20PU+внешняя гена на 40МГц - ****ячит, аж гай гудэ. Думаю...

Написал вам в личку.

Да. Я получал :)
 
Ребята, нету у кого нибудь такого?
А не завалялось у кого подобных герконовых датчиков? Или где взять подскажите. Чтото я у нас только огромные нашел.
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
неа. А датчик оборотов с флоповодов не подойдет? Я не помню че там, Холл или просто катушечка.
 
Назад
Зверху Знизу