Перевести код на си/си++
- Войдите на сайт для отправки комментариев
Чт, 05/12/2013 - 22:33
Всем привет! Помогите сделать. Например, есть код Arduino для светодиода, как его переделать в си/си++?
Сама задача в том, чтобы сделать программу (совместить скетч и си/си++), с помощью которой можно включать/выключать светодиод (то есть подаем в аргументе 1 - светодиод загорается, подаем 0 -гаснет).
Помогите сделать, оооочеень надо!!!
// Определим, к какой ножке микросхемы будет подключен светодиод #define LED 13 #include <avr/io.h> void setup() { // Укажем, что данная ножка будет использоваться для вывода pinMode(LED, OUTPUT); } void loop() { // Зажжем светодиод, подав напряжение на ножку digitalWrite(LED, HIGH); // Подождем секунду delay(1000); // Погасим светодиод, убрав напряжение с ножки digitalWrite(LED, LOW); // Подождем секунду delay(1000); }
С++ на каком железе предполагается запускать?
как его переделать в си/си++?
просто все разнесено по функциям....
это какая-то пошесть заданий в университетах - стУдентам задают писать проги на С++ для мигания светодиодами.
хорошо, если напишут....
Доброго времени суток !
Я так понял Вы хотите написать программу без библиотек arduino, давайте попробуем.
Для начала открываем схему и смотрим кто такой бит 13 - это 5 -ый бит порта B.
Ну както так.
1. Установите CodeVision, почитайте http://avr-start.ru, http://sotvorimvmeste.ru/viewforum.php?f=36
2. Выбирайте контроллер, я использую tiny13
3. Для экспериментов c электроникой установите Proteus. Это позовлит создать схему и сразу тестировать прошивку даже без настоящего контроллера.
#include <tiny13.h>
#include <delay.h>
DDRB=0b00000001; // устанавливаем направление работы порта, 0 вход, 1 выход. Сейчас порт PB0 (см распиновку контроллера) установлен как выход.
PORTB=0b00000001; // подключаем внутренний подтягивающий резистор или устанавливаем состояние выхода по умолчанию
digitalWrite () это аналог PORTB.1=1; // записать 1 в ножку 1 порта B
delay_ms (500); // что бы работать с задержками, изначально необходимо подключить библиотеку через #include <delay.h>
Программа будет полностью аналогичная ардуиновской.