Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
mysh91
1

работает в proteus,но не правильно работает на плате.

08.04.2012, 20:24. Просмотров 2857. Ответов 3
Метки нет (Все метки)

Помогите..написал одну програмку на КодеВижн, для теста кабелей,в протеусе всё работает нормально,но когда спаял,то работает но не правильно.Есть вот такой участок кода порт Д настроен как вход,с подтяжкой!!
char pin_def[8]={0b11111110,0b11111101,0b11111011,0b11110111,0b11101111,0b11011111,0b10111111,0b01111111};

char type_test(void)
{
char i;

for(i=0;i<=7;i++)
{
delay_ms(100);
PORTB=pin_def[i];
DDRB=~pin_def[i];
//delay_ms(50);
if(PIND!=0xFF)
{

return 2;

}
}

return 1;

}

И вот такая схема
По идее когда подключено как на схеме то функция type_test(void),должна возвратить 2,когда хотя б на одном из пине порта Д появится нолик,но почемуто возвращает 1,поскольку не работает как надо ,хотя в протеусе всё работает на ура ((...Может нужно добавить тот delay_ms(50)(А ещё там есть кусок кода, где перед сравнением состояния пинов есть некое количество кода,своеобразная задержка получается,то тогда оно работает...вот тут) что я закоментировал,мож он не успевает там появится ? ??Когда я сам замикаю любой пин порта Д на землю,то работает,опредиляет ,но когда минус идёт с другого порта ,програмно ,то он не определяется,что может быть *?А может быть из за какого то неправильного фуз-бит(например деление на 8) ??
И почему на плате вот такое тоже не работает,вот код ТОЛЬКО РАНЬШЕ там не было delay_ms второго(тот что ниже)
delay_ms(50);
DDRB=~pin_def[0];
PORTB=pin_def[0];
delay_ms(50);
if(PINB!=(pin_def[1]&PORTB))
{
H_C=0;
}
тоисть Н_С не должно было б обнулится...в протеусе всё ОК..на плате тоже всё норм..Кто чего скажет ?
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2012, 20:24
Ответы с готовыми решениями:

Не работает в железе (работает в Proteus, ATmega8, ASM)
Прошивка работает в протеусе (V 7.7 SP 2), но не работает в железе. На счет фьюзов не совсем уверен...

Не работает микроконтроллер в Proteus
Помогите!!! :help: Микроконтроллер: ATtiny 45 - 85 Проверял на версиях: 7.1 - 8.1 Несколько раз...

В Windows Forms некоректно работает метод, хотя в консоли работает правильно
//Данный метод должен заменять все элементы в массиве на 1, после найменьшего. public string...

Надо понять правильно работает код или нет. И работает ли он вообще
Он должен вычислить сумму с точностью эпсилон #include &lt;iostream&gt; using namespace std; ...

3
Johmmy0007
1 / 1 / 0
Регистрация: 30.08.2011
Сообщений: 9,944
09.04.2012, 11:18 2
почему в цикле пробегают 8 выходов B, а подключено всего два входа D?
0
mysh91
09.04.2012, 12:31 3
Цитата Сообщение от Johmmy0007
почему в цикле пробегают 8 выходов B, а подключено всего два входа D?
То проверка на то что бы хотя бы одна линия соединяла порты !
Johmmy0007
1 / 1 / 0
Регистрация: 30.08.2011
Сообщений: 9,944
09.04.2012, 12:34 4
ну так если вы попадёте в цикле на вход, где провода нет, то естественно, будут пропуски, может вы как раз в них и попадаете
0
09.04.2012, 12:34
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2012, 12:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

На Главной странице не работает правильно вывод (неккоректно работает цикл)
Я создал тему с нуля. И мне нужно было чтоб на главной странице(Главная)...

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; ...

ISIS Proteus, на какой частоте работает МК?
Вот, написал такую незатейливую программку для косвенной проверки скорости контроллера. как видно...

Не работает клавиатура на плате ASROCK
Знакомые отдали плату ASROCK G41M-VS3 R2.0 с запиской в радиаторе ( неисправность cmos) в ообщем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.