Может ли кто -нибудь помочь проверить легитимность этого кода от Arduino Project [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Может ли кто -нибудь помочь проверить легитимность этого кода от Arduino Project [закрыто]

Сообщение Anonymous »

Код: Выделить всё

const int clk = 15;
const int rst = 16;

int AD0 = 10;
int AD1 = 9;
int AD2 = 8;
int AD3 = 7;
int AD4 = 6;
int AD5 = 5;
int AD6 = 4;
int AD7 = 3;
int AD8 = 2;
int AD9 = 1;
int AD10 = 12;
int AD11 = 11;
int AD12= 0;

const int DO0 = 11;
const int DO1 = 12;
const int DO2 = 13;
const int DO3 = 15;
const int DO4 = 16;
const int DO5 = 17;
const int DO6 = 18;
const int DO7 = 19;

int b0 = 0;
int b1 = 0;
int b2 = 0;
int b3 = 0;
int b4 = 0;
int b5 = 0;
int b6 = 0;
int b7 = 0;
int b8 = 0;
int b9 = 0;
int b10 = 0;
int b11 = 0;
int b12 = 0;

int cnt = 0;
int nl = 0;

void setup() {

Serial.begin(9600);

pinMode (clk, OUTPUT);
pinMode (rst, INPUT);
pinMode(AD0, OUTPUT);       //D9 and Address AD0
pinMode(AD1, OUTPUT);       //D8 and Address AD1
pinMode(AD2, OUTPUT);       //D7 and Address AD2
pinMode(AD3, OUTPUT);       //D6 and Address AD3
pinMode(AD4, OUTPUT);       //D5 and Address AD4
pinMode(AD5, OUTPUT);       //D4 and Address AD5
pinMode(AD6, OUTPUT);       //D3 and Address AD6
pinMode(AD7, OUTPUT);       //D2 and Address AD7
pinMode(AD8, OUTPUT);       //D10 and Address AD8
pinMode(AD9, OUTPUT);       //D11 and Address AD9
pinMode(AD10, OUTPUT);      //D12 and Address AD10
pinMode(AD11, OUTPUT);      //D12 and Address AD10
pinMode(AD12, OUTPUT);      //D13and Address AD10

pinMode(DO0, INPUT);       //D21 and DataOut DO0
pinMode(DO1, INPUT);       //D20 and DataOut DO1
pinMode(DO2, INPUT);       //D19 and DataOut DO2
pinMode(DO3, INPUT);       //D14 and DataOut DO3
pinMode(DO4, INPUT);       //D15 and DataOut DO4
pinMode(DO5, INPUT);       //D16 and DataOut DO5
pinMode(DO6, INPUT);       //D17 and DataOut DO6
pinMode(DO7, INPUT);       //D18 and DataOut DO7
digitalWrite (clk, LOW);

}

void loop() {
digitalWrite(AD0, LOW);
digitalWrite(AD1, LOW);
digitalWrite(AD2, LOW);
digitalWrite(AD3, LOW);
digitalWrite(AD4, LOW);
digitalWrite(AD5, LOW);
digitalWrite(AD6, LOW);
digitalWrite(AD7, LOW);
digitalWrite(AD8, LOW);
digitalWrite(AD9, LOW);
digitalWrite(AD10, LOW);
digitalWrite(AD11, LOW);
digitalWrite(AD12, LOW);

Serial.println();
Serial.println("Press button to begin.");
delay(1000);

//Start count for entire address range
for (int i = 0; i < 512; i++) {
//Get each bit value from address
b0 = bitRead(i, 0);
b1 = bitRead(i, 1);
b2 = bitRead(i, 2);
b3 = bitRead(i, 3);
b4 = bitRead(i, 4);
b5 = bitRead(i, 5);
b6 = bitRead(i, 6);
b7 = bitRead(i, 7);
b8 = bitRead(i, 8);
b9 = bitRead(i, 9);
b10 = bitRead(i, 10);
b11 = bitRead(i, 11);
b12 = bitRead(i, 12);

//Assign bit value to actual address line to ROM
if (b0 == 1) {digitalWrite(AD0, HIGH);} else {digitalWrite(AD0, LOW);}
if (b1 == 1) {digitalWrite(AD1, HIGH);} else {digitalWrite(AD1, LOW);}
if (b2 == 1) {digitalWrite(AD2, HIGH);} else {digitalWrite(AD2, LOW);}
if (b3 == 1) {digitalWrite(AD3, HIGH);} else {digitalWrite(AD3, LOW);}
if (b4 == 1) {digitalWrite(AD4, HIGH);} else {digitalWrite(AD4, LOW);}
if (b5 == 1) {digitalWrite(AD5, HIGH);} else {digitalWrite(AD5, LOW);}
if (b6 == 1) {digitalWrite(AD6, HIGH);} else {digitalWrite(AD6, LOW);}
if (b7 == 1) {digitalWrite(AD7, HIGH);} else {digitalWrite(AD7, LOW);}
if (b8 == 1) {digitalWrite(AD8, HIGH);} else {digitalWrite(AD8, LOW);}
if (b9 == 1) {digitalWrite(AD9, HIGH);} else {digitalWrite(AD9, LOW);}
if (b10 == 1) {digitalWrite(AD10, HIGH);} else {digitalWrite(AD10, LOW);}
if (b11 == 1) {digitalWrite(AD11, HIGH);} else {digitalWrite(AD11, LOW);}
if (b12 == 1) {digitalWrite(AD12, HIGH);} else {digitalWrite(AD12, LOW);}

//Delay to let chip stabilize
delay(10);

if (digitalRead(rst) == HIGH){
if (cnt <  8192) {

cnt++;

//Read contents of ROM
int sum = 0;
if (digitalRead(DO0) == HIGH) {sum += 1;}
if (digitalRead(DO1) == HIGH) {sum += 2;}
if (digitalRead(DO2) == HIGH) {sum += 4;}
if (digitalRead(DO3) == HIGH) {sum += 8;}
if (digitalRead(DO4) == HIGH) {sum += 16;}
if (digitalRead(DO5) == HIGH) {sum += 32;}
if (digitalRead(DO6) == HIGH) {sum += 64;}
if (digitalRead(DO7) == HIGH) {sum += 128;}

//Print data to Serial
if (nl >= 32) {
nl = 0;
Serial.println();
}

if (sum < 16) {Serial.print("0");}
Serial.print(sum, HEX);
if (nl < 32) {Serial.print(" ");}

nl++;

digitalWrite(clk, HIGH);
delay(1);
digitalWrite(clk, LOW);
//Delay to let ROM output stabilize
delay(1);
}
}
}
}
Я расширил функциональность цикла скрипта, чтобы включить адресные линии вывода из Arduino nano каждый и сравнивая Arduino Nano в канале Usagi Electry YouTube для сравнения ( vmlpnfszfl3ddwa0), в первый раз, когда я попытался это сделать с Arduino Nano, я подключил все так же, как и в описании ссылки на видео, и результаты должны были захватить импорт свалки ROM в редактор Sprite Tile, как для Nintendo ROM из Famicon in 80 -е годы. Dip ROM от моего проекта принадлежит к машине Pachinko Nishijin 1980-х годов, такой как Appple TV Sereies, LH5764-20. Хотя я использовал «закодированные» адресные линии в эскизе в порядке фактических контактов из файла схемы схемы DIP, я сгорел Arduino Nano из неправильной земли и линий напряжения. Хотя я не думаю, что что -то еще произошло, кроме как попытка повторно использовать эскиз и внедрить больше кода в строках синтаксики из другой ссылки GitHub, приведенных ссылками USAGI Electric Github Ссылка на видео и мое собственное в кодовом сообщении. Текст < /p>
Итак, в чем разница в коде из адресного вывода и в том, в котором эскиз дампа ПЗУ должен принимать в этих значениях один за другим вниз по строкам синтаксиса? Я имею в виду, как их следует переупорядочить, чтобы набросок в Arduino IDE поднимает их один за другим в порядке, который является обычным делом для провалов, смесившихся, смещенных или смещенных, как карта векторной плитки, взятой из схемы провалов. Для лунных миссий на Марс. У меня был адрес вывода, выстроился неправильно. Я полагаю, именно поэтому эскиз сценария продолжает повторять «Введите ключ, чтобы продолжить», каждая строка перепечатает себя без свалки этого белого шума, материала из эпохи Console Console Console. < /P>
LH5764 -10 имеет 13 контактов с адресами адреса, в то время как USAGIS AMD Chip имеет только 12 контактов с адресами адреса, поэтому использование декодеров Ripple Carrier на моем чипе означает, что у меня есть еще один адрес над его, и я использовал дополнительный декодер, делающий 4 в общей сложности на моей макете. Существует путаница в отношении того, почему Бен Пойер из YouTube на «Худшей видеокарте мира» сталкивается с аналогичными проблемами с его NAND, а не инвертором ворота с крыльца или LCD -линии до тактового импульса от кристаллического осциллятора и декодеров. Моя проблема состоит не в том, чтобы печатать на ЖК -дисплей, как он, а в том, чтобы получить правильные декодеры и правильное количество адресных линий с адреса наноса Arduino от схемы провалов, или мне понадобится большая плата для обработки 13 -го адреса, которую Arduino просто не может правильно сделать, чтобы распечатать шестнадцатеричный адрес на дампе. Следует ли я подключить штифт 13 -го штифта на штифт сброса Arduino и штифт нуля на часовой штифт, например, в бинарном счетчике Ben Peaters 264 -бит. Чтобы лучше сравнивать румный бак из каталога продаж eBay в Интернете, чипы на этих специализированных предварительно построенных ROM -самолетах имеют больше контактов, которые Arduino на своем микроконтроллере. И используйте керамические колпачки для фильтрации тока, который указан в схеме IC LH5764-20, и у меня есть один, чтобы выходить из него, но USAGI не использовал так, на камеру. Мне интересно, как он соединил свои часы или у нас была та же самая доска Arduino, потому что мой сгорел, а АНБ Интернет вещей - хорошая суть.

Подробнее здесь: https://stackoverflow.com/questions/794 ... no-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»