Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562

Где найти список команд для микроконтроллеров

10.02.2017, 19:46. Показов 7053. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Немного наивный вопрос, но вопрос простой.
Где найти список команд, которые поддерживает микроконтроллер?
Например при коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    int main(){
 
        DDRB = 0b111111111;
        PORTB = 0b00000000;
 
        if (PIND.1 == 1){
 
            PORTB.0 = 1;
 
        }
        if (PIND.! == 0){
            PORTB.0 = 0;
 
        }
    }
На одном компиляторе он работает, на другом уже не работает.
Одна команда на одном микроконтроллере поддерживается, на другом уже не поддерживается.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.02.2017, 19:46
Ответы с готовыми решениями:

Где найти список команд DOSBox?
Подскажите где можно найти весь перечень команд для DOSbox или его возможностей например то что он может эмулировать системный динамик...

Где найти список всех команд которые есть в FoxPro?
нужен список вроде таблицы с названием команды и с описанием ее действий.

Где можно найти список всех команд Матлаб с "расшифровкой"
Добрый день! Подскажите, пожалуйста, где можно найти список всех команд в Матлаб с "расшифровкой", что они делают, например, end...

28
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
13.02.2017, 19:30  [ТС]
Студворк — интернет-сервис помощи студентам
Я заметил свою ошибку.
У меня большая проблема со считыванием информации с ножек. Вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <avr/io.h>
#include <util/delay.h>
 
 
void main (void){
    
    DDRB = 0b11111111;
    PORTB = 0b00000000;
    
    DDRC = 0b11111111;
    PORTC = 0b00000000;
    
        while (1){
            
            if (PINC&(1<<PC0) == 1){
                PORTB = 0b00000001;
            }
            if (PINC&(1<<PC1) == 1){
                PORTB = 0b00000000;
            }
        }
    }
Нажимаешь на первую, все работает (включает светодиод), нажимаешь на вторую, ничего не происходит. Что делаю не так... До сих пор врубится не могу.
0
Native x86
Эксперт Hardware
 Аватар для quwy
6860 / 3792 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
13.02.2017, 19:37
Photofenix, вы не понимаете битовую арифметику.
Выражение PINC&(1<<PC1) == 1 никогда не будет истинным, если PC1 больше нуля. Я уже писал выше, что не нужно сравнивать результат считывания с единицей, вместо этого его нужно проверять на неравенство нулю, что в сокращенном виде можно написать так:
C
1
2
3
4
5
6
if (PINC&(1<<PC0)){
                PORTB = 0b00000001;
            }
            if (PINC&(1<<PC1)){
                PORTB = 0b00000000;
            }
1
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
13.02.2017, 19:41  [ТС]
Все заработало, спасибо, пойду учится дальше
0
Native x86
Эксперт Hardware
 Аватар для quwy
6860 / 3792 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
13.02.2017, 19:44
Светодиод как подключен: между выходом и нулем или между выходом и питанием? От этого зависит то от какого уровня на выходе он будет светиться.
0
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
13.02.2017, 19:48  [ТС]
То есть
Assembler
1
(PINC&(1<<PC0))
по умолчанию заданное условие равно 1. На нажимании кнопки, состоянии меняется и условие выполняется.
Значит, можно инвертировать код
Assembler
1
(!(PINC&(1<<PC0)))
и заданное условие будет равно нулю?
0
Native x86
Эксперт Hardware
 Аватар для quwy
6860 / 3792 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
13.02.2017, 19:51
Так нагляднее:
C
1
if ((PINC&(1<<PC0)) == 0)
1
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
13.02.2017, 20:01  [ТС]
Да, так гораздо понятней. Но не работает.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
13.02.2017, 20:51
Photofenix, я ж тебе расписал в 18 посту
что непонятно спрашивай
а лучше сходить на ветку Си и там позадавать вопросы,ибо битовая арифметика основы языка
тебе нужно узнать что такое И &, ИЛИ |, НЕ ~ Исключающее ИЛИ ^
чем ~отличается от !
1
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
13.02.2017, 21:12  [ТС]
Хорошо, буду пробовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2017, 21:12

Где найти открытые проекты по программированию микроконтроллеров?
Привет народ, такое дело - взбрело мне в голову, что одному развиваться в программировании тяжелее, чем группой, и я решил найти народ,...

Где отображается список доступных команд?
Доброго времени суток! Так нету такого для В редакторе командного интерфейса конфигурации? 1. В редакторе командного интерфейса...

Где можно посмотреть полный список команд,свойства и методы
Где можно посмотреть полный список команд,свойства и методы которые можно использовать с объектами,которые эти команды выводят.Как тут...

Изучение системы команд микроконтроллеров семейства MCS-51
всем привет..помогите разобраться как это реализовать. 1)исследование команд передачи данных (R0) &lt;- 5 ((R0)) &lt;- 10 (R0)...

Где найти список data types для C и C++?
Здравствуйте. Подскажите, пожалуйста, где можно найти список data types (не знаю как они еще называются, поэтому по поиску ничего не нашел)...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru