Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
allukard
156 / 155 / 51
Регистрация: 08.11.2010
Сообщений: 1,379
1

Светодиод по кнопке

29.01.2017, 20:18. Просмотров 1073. Ответов 10

Ребят подскажите пожалуйста. только начал изучать но не могу понять что делаю не так.

Кликните здесь для просмотра всего текста
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
26
27
28
#define  F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
 
void preset(){
    DDRB = 0xFF; ////порт B - выход
    PORTB = 0x00; //устанавливаем 0 на выходе. Все светодиоды не активные.
    DDRD = 0b00000000; //порт D - вход
    PORTD = 0xFF; //подключаем нагрузочный резистор
}
 
 
int main(void)
{
    preset();
    while(1)
    {
        //PORTB = ~PIND; //~ знак поразрядного инвертирования
        if (PIND.0==1)
        {
            PORTB.0=1
        }
        else
        {
            PORTB.0=0
        }
    }
}

ошибки такие Название: errrer.jpg
Просмотров: 31

Размер: 14.8 Кб что я тут делаю не так?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2017, 20:18
Ответы с готовыми решениями:

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

Зажечь светодиод по кнопке на ATMega8515
Есть микроконтроллер ATMEGA 8515. Требуется считывать порты В (0 и 1 пина). И при обнаружении 1 на...

Светодиод и кнопка
Привет всем! Помогите пожалуйста! Как написать программу на С под avr, чтобы когда на кнопку...

Pic12F675. не мигает светодиод:)
Всем привет! нашел в инете такое:...

Счетчик с выходом на светодиод
Всем привет! Препод на доске нарисовал микроконтроллер и сказал организовать обычный счетчик с...

10
ValeryS
Модератор
7944 / 5915 / 783
Регистрация: 14.02.2011
Сообщений: 20,347
Завершенные тесты: 1
29.01.2017, 20:28 2
Цитата Сообщение от allukard Посмотреть сообщение
PORTB.0=1
Цитата Сообщение от allukard Посмотреть сообщение
PORTB.0=0
точку с запятой в конце поставь
в Си это обязательное условие конца строки
0
allukard
156 / 155 / 51
Регистрация: 08.11.2010
Сообщений: 1,379
29.01.2017, 20:32  [ТС] 3
Цитата Сообщение от ValeryS Посмотреть сообщение
точку с запятой в конце поставь
в Си это обязательное условие конца строки
поставил, ошибки остались
0
ValeryS
Модератор
7944 / 5915 / 783
Регистрация: 14.02.2011
Сообщений: 20,347
Завершенные тесты: 1
29.01.2017, 20:42 4
Цитата Сообщение от allukard Посмотреть сообщение
поставил,
покажи как
Цитата Сообщение от allukard Посмотреть сообщение
ошибки остались
какие?

Добавлено через 1 минуту
компилятор какой?
0
29.01.2017, 20:42
allukard
156 / 155 / 51
Регистрация: 08.11.2010
Сообщений: 1,379
29.01.2017, 20:50  [ТС] 5
Цитата Сообщение от ValeryS Посмотреть сообщение
точку с запятой в конце поставь
в Си это обязательное условие конца строки
поставил, ошибки остались
Цитата Сообщение от ValeryS Посмотреть сообщение
покажи как
C++
1
2
3
4
5
6
7
8
        if (PIND.0==1)
        {
            PORTB.0=1;
        }
        else
        {
            PORTB.0=0;
        }
IDE Atmel Studio 7.0.
ошибки такие же

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
в Си это обязательное условие конца строки
я сделал на С++
0
ValeryS
Модератор
7944 / 5915 / 783
Регистрация: 14.02.2011
Сообщений: 20,347
Завершенные тесты: 1
29.01.2017, 21:02 6
Лучший ответ Сообщение было отмечено allukard как решение

Решение

Цитата Сообщение от allukard Посмотреть сообщение
IDE Atmel Studio 7.0.
а вот такие фокусы
Цитата Сообщение от allukard Посмотреть сообщение
PORTB.0=1
проходят только в КодеВижине
соответственно, универсальный код,
Цитата Сообщение от allukard Посмотреть сообщение
PIND.0==1
меняем на
C
1
 (PIND&(1<<0))==(1<<0)
Цитата Сообщение от allukard Посмотреть сообщение
PORTB.0=1;
на
C
1
PORTB|=1<<0;
Цитата Сообщение от allukard Посмотреть сообщение
PORTB.0=0;
на
C
1
PORTB&=~(1<<0);
Добавлено через 4 минуты
Цитата Сообщение от allukard Посмотреть сообщение
я сделал на С++
во первых это несущественно, все правила Си распространяются и на плюсы
во вторых я здесь плюсового кода не вижу
1
allukard
156 / 155 / 51
Регистрация: 08.11.2010
Сообщений: 1,379
29.01.2017, 21:43  [ТС] 7
Цитата Сообщение от ValeryS Посмотреть сообщение
(PIND&(1<<0))==(1<<0)
Благодарю! поправил малость
C++
1
if ((PIND&(1<<0))==(1<<0))

надо учебник менять, а я думаю что у меня по учебнику Белова А.В не получается)

Добавлено через 35 минут
лучше поставлю CodeVisionAVR
0
ValeryS
Модератор
7944 / 5915 / 783
Регистрация: 14.02.2011
Сообщений: 20,347
Завершенные тесты: 1
29.01.2017, 22:02 8
Цитата Сообщение от allukard Посмотреть сообщение
надо учебник менять
может компилятор
Цитата Сообщение от allukard Посмотреть сообщение
а я думаю что у меня по учебнику Белова А.В не получается
ужель у него все заточено на КодеВижен
0
Витальич
1277 / 1183 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
30.01.2017, 09:56 9
ИМХО: используя CodeVisionAVR вы будете программировать на CodeVision, а не на СИ
0
pyzhman
1161 / 516 / 76
Регистрация: 15.05.2012
Сообщений: 2,959
30.01.2017, 11:06 10
Зато
Цитата Сообщение от allukard Посмотреть сообщение
на С++
0
Витальич
30.01.2017, 11:10     Светодиод по кнопке
  #11

Не по теме:

Ага, а еще выясним, как происходит обработка исключений виртуальной функции, абстрактного класса :D

0
30.01.2017, 11:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2017, 11:10
Привет! Вот еще темы с ответами:

Светодиод - датчик света
Доброе время суток, господа. Я всё ещё в светодиоднокнопочном периоде, хотя уже и ШИМ-ил немного....

RGB светодиод и управление им.
Недавно пришла посылка с китайскими светодиодами, теперь вот думаю куда их прикручивать. Для...

светодиод, кнопка и msp430
Доброго времени суток, форумчане. Задам в скорее всего банальный вопрос для многих, но я только...


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

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

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