Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Stas_Garcia
Ушел наливать чай
187 / 137 / 32
Регистрация: 02.03.2013
Сообщений: 652
1

Наводки при работе с портом Atmega8515

13.11.2014, 23:16. Просмотров 532. Ответов 4
Метки нет (Все метки)

Atmega 8515
C
1
2
3
4
DDRB = 0xFF; //выход все порты б portb - out
          PORTB = 0xFF;
          PORTC = 0xFF;//on
          DDRC = 0x00;//in
Если ставить условие на сигнал
C
1
if (PINC0 == 1)
, то код работает исправно (??? ножка пустая).

Заключаю все в
C
1
if (PINC1 == 0)
. То код тупо не работает, хотя к ножке ничего не подключал.

Добавлено через 4 минуты
Блин. А теперь если меняю PINC1 на PINC0, то наоборот работает. Что за бред? Обе ножки пустые...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2014, 23:16
Ответы с готовыми решениями:

Ошибка при работе с COM-портом
Здравствуйте! Пульт, собранный на микроконтроллере, периодически посылает по RS485 на компьютер...

997 при работе с СОМ портом
Всем доброго. Давно не был здесь, но вот представился повод. Сразу отмечу, что поиск курил. Но, то...

Программа виснет при работе с com-портом
Та же проблема, в программе задействовано 2 com порта, со вторым постоянные неприятности! Ни каких...

Управление кодировкой при работе с COM-портом
Здравствуйте господа! Столкнулся с такой трудностью. Private Sub SerialPort1_DataReceived(ByVal...

Потеря данных при работе с COM портом
Добрый день. У меня сложилась проблема с программированием COM порта. Я пишу программу, которая...

4
ValeryS
Модератор
7448 / 5640 / 716
Регистрация: 14.02.2011
Сообщений: 19,214
Завершенные тесты: 1
14.11.2014, 00:04 2
Цитата Сообщение от Stas_Garcia Посмотреть сообщение
Обе ножки пустые...
в воздухе висят? или на плату припаяны?
ноги не замыкают?
Цитата Сообщение от Stas_Garcia Посмотреть сообщение
if (PINC1 == 0)
это условие сработает если на ногу подать 0
0
Stas_Garcia
Ушел наливать чай
187 / 137 / 32
Регистрация: 02.03.2013
Сообщений: 652
14.11.2014, 00:43  [ТС] 3
Цитата Сообщение от ValeryS Посмотреть сообщение
в воздухе висят? или на плату припаяны?
ноги не замыкают?
В воздухе. Не замыкают.
Переделал под светодиод:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
 
 
void presets(){
    DDRB = 0xFF;//out
    PORTB = 0x00;//on
    DDRC = 0x00;//in
    //PORTC = 0x00;//in
}
 
int main(void)
{
    presets();
    while(1)
    {
      
      while (PINC0 == 1)
      {
          PORTB = 0xFF;
      }
         
    }
}
Но при таком коде светодиод не светится, вне зависимости от того, подаю сигнал на пин0С или нет. Если поставить условие PINC0 == 0, о наоборот постоянно светится. В чем может быть проблема?

Добавлено через 8 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
это условие сработает
Переделал немного, подаю 1 на ВЕСЬ порт С, и в условии PINC == 0xFF. Так работает все. А если пытаюсь на один подать, то нет...


Все, если сделать так: PINC == 0b00000001, то работает в протеусе. Но в реальности нет. Замыкаю Vcc и нулевой порт С, но ничего не происходит.
0
ValeryS
Модератор
7448 / 5640 / 716
Регистрация: 14.02.2011
Сообщений: 19,214
Завершенные тесты: 1
14.11.2014, 00:44 4
Цитата Сообщение от Stas_Garcia Посмотреть сообщение
Но при таком коде светодиод не светится, вне зависимости от того, подаю сигнал на пин0С или нет. Если поставить условие PINC0 == 0, о наоборот постоянно светится. В чем может быть проблема?
в том что отключил внутренние подтягивающие резисторы
Цитата Сообщение от Stas_Garcia Посмотреть сообщение
//PORTC = 0x00;//in
в результате нога в воздухе и ловит всякие наводки
необходимо или внешние припаять или включить внутренние
C
1
2
DDRC = 0x00;//in
PORTC = 0xFF;
тогда активный будет 0
ногу на землю надо садить
0
Stas_Garcia
Ушел наливать чай
187 / 137 / 32
Регистрация: 02.03.2013
Сообщений: 652
14.11.2014, 00:57  [ТС] 5
Да. Видимо дело в статике. Поводил пальцем по ножкам и светодиод засветился.
0
14.11.2014, 00:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2014, 00:57

Непонятки при работе с ком-портом
Камрады, поможите чайнику. С сями последний раз работал в школе, а с ком-портом вообще на си...

Изменение значения в Combobox при работе с Com портом
Добрый день всем, есть такая проблема. На форме существует combobox с выбором номера порта. Работаю...

Задание тайм-аутов при работе с Com-портом
Длина символьного массива, принимаемого из буфера коммуникационного порта = 255. Учитывая...


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

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

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