Я не могу запрограммировать этот микрочип (с помощью PicKit5 проблем быть не должно) либо потому, что он слишком старый, либо потому, что мне не хватает много знаний.
Таким образом, программа пишется правильно, без ошибок, но когда я подключаю микрочип, проверяю, что он получает стабильное напряжение 5 В от моего источника (Arduino Uno, я использую VDD (+) и VSS (-) для подключения микрочипа. питание, если что не так, запишите), но дело в том, что он ничего не светит, у меня на каждый выход по 4 светодиода на всякий случай мигает по 1 мс на любом, а его нет.
Я просто хочу сделать так, чтобы один из выходов отправлял сигнал в течение 20 с (например), а затем ждал 20 с и повторял цикл (в моей ситуации я выбрал GP1).
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)
#pragma config CP = OFF // Code Protect (Code protection off)
#pragma config MCLRE = OFF // Master Clear Enable (GP3/MCLR pin fuction is digital I/O, MCLR internally tied to VDD)
#define _XTAL_FREQ 4000000
void main()
{
while (1)
TRISGPIO = 0b00000000;
// GPIO = 0b00000000;
__delay_ms(100);
GPIObits.GP1 = 1;
__delay_ms(100);
GPIObits.GP1 = 0;
}
Это последняя попытка моего кода. Не самый яркий.
«Значит, программа пишется правильно, без ошибок» — как вы определили, что она запрограммирована? Вы написали его на правильный государственный адрес? Есть ли у вас правильный код запуска во время выполнения? Каким инструментом вы писали флешку? У вас есть отладочное оборудование? В этом случае используйте отладчик, чтобы определить, присутствует ли код и работает ли он вообще. Если вы полагаетесь на активность светодиода как индикатор успеха, вам также необходимо разбираться в электронике, чтобы правильно подключить светодиод. Это не данность, вам нужно предоставить доказательства всего этого.
@Клиффорд, в небольшом окошке внизу программы четко указано, как он очистил предыдущий код и был успешно написан. Ошибок указания/нечитаемых строк не было. Что касается соединений, то предоставлю эскиз.
«Не было никаких ошибок указания/нечитаемых строк» Понятия не имею, что это значит, особенно в контексте прошивки кода. Успешная сборка и успешное флэш-программирование независимы и независимы. Не было бы проще и менее двусмысленно просто опубликовать текстовое содержимое окна, о котором вы говорите в вопросе? Это все диагностическая информация, даже если вы думаете, что она ничего не добавляет.
Также на C на PIC10F200: stackoverflow.com/questions/57963143/…
Кодируем вслепую! Вы сказали, что не можете запрограммировать чип, но очевидно, что можете, но код, с помощью которого вы его программировали, был неправильным. C — это не Python.
Извините, я интерпретировал «программирование чипа» как запись во флэш-память. Вы успешно запрограммировали чип с неверным кодом.
@Клиффорд, пока люди предоставляют мне исправления, я не против «грязи, которая меня пачкает», я также думал, что вы знаете, как MPLAB отображает ошибки в левой части строки, в которой вы пишете код. Имейте в виду, мне не хватает многих знаний во всех POV, будь то электроника, физика или программирование. Ждем вас всех, большие умники, чтобы обеспечить лучшее для всех.
поместите { и }, чтобы определить цикл while (1).
void main()
{
while (1)
{
TRISGPIO = 0b00000000;
// GPIO = 0b00000000;
__delay_ms(100);
GPIObits.GP1 = 1;
__delay_ms(100);
GPIObits.GP1 = 0;
}
}
Без них ваш код выполняет только:
while (1)
TRISGPIO = 0b00000000;
В вашем коде время задержки составляет 100 мс, а не 20 с!