Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Разное > Курилка

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.04.2016, 22:48   #21
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Я запорол pro mini?
Прошил Uno в ArduinoISP, переставил настройки на ProMini 5V, запустил "записать загручик" и получил:
Цитата:
D:\arduino-1.6.7-2\hardware\tools\avr/bin/avrdude -CD:\arduino-1.6.7-2\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -c arduinoisp -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "D:\arduino-1.6.7-2\hardware\tools\avr/etc/avrdude.conf"

Using Port : usb
Using Programmer : arduinoisp
avrdude: Error: Could not find USBtiny device (0x2341/0x49)

avrdude done. Thank you.
Tohin вне форума   Ответить с цитированием
Старый 13.04.2016, 22:52   #22
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: AVR (mega328p)

Да вроде ничего криминального, он написал что ему не удалось найти устройство
Цитата:
Не удалось найти USBtiny устройство
Admin вне форума   Ответить с цитированием
Старый 13.04.2016, 22:58   #23
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: AVR (mega328p)

Открываем Arduino IDE и заливаем в Arduino Uno sketch называющийся ArduinoISP (File -> Examples -> Arduino ISP)
В скетче есть распиновка программатора

Цитата:
// this sketch turns the Arduino into a AVRISP
// using the following pins:
// 10: slave reset
// 11: MOSI
// 12: MISO
// 13: SCK

// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
Нужно подключить как минимум 6 выводов
10: slave reset
11: MOSI
12: MISO
13: SCK
GND: GND
+5v: 5v
Admin вне форума   Ответить с цитированием
Старый 13.04.2016, 23:23   #24
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Спасибо за участие.
я вроде так и делал... из того же скетча:
Цитата:
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
на 9м пине диод красиво мигает..
выводы все подключил.


UPD:
Сорри за беспокойство. я опять ступил. Нужно выбирать программатор не ArduinoISP а Arduino as ISP.....

Последний раз редактировалось Tohin; 13.04.2016 в 23:30.
Tohin вне форума   Ответить с цитированием
Старый 13.04.2016, 23:31   #25
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: AVR (mega328p)

на 9 пину светодиод показывает, что осуществляется прошивка
Admin вне форума   Ответить с цитированием
Старый 13.04.2016, 23:52   #26
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Цитата:
Сообщение от Admin Посмотреть сообщение
на 9 пину светодиод показывает, что осуществляется прошивка
неа... на 7м прошивка:
Цитата:
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
Заработало... нажимаю кнопку на одной дуине, загорается лампочка на другой. На что я потратил свой отпуск, а?!
Tohin вне форума   Ответить с цитированием
Старый 13.04.2016, 23:58   #27
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: AVR (mega328p)

На 7-ом показывает что есть соединение
Admin вне форума   Ответить с цитированием
Старый 14.04.2016, 14:28   #28
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Цитата:
Сообщение от Admin Посмотреть сообщение
на 9 пину светодиод показывает, что осуществляется прошивка
Пр факту он плавно мигает при подаче питания. Мне показалось это обозначает, что залитый скетч является ISP программатором и он работает
Цитата:
Сообщение от Admin Посмотреть сообщение
На 7-ом показывает что есть соединение
опять же, по факту, он моргает при выполнении прошивки ведомой платы.

Последний раз редактировалось Tohin; 14.04.2016 в 14:58. Причина: Задумался...
Tohin вне форума   Ответить с цитированием
Старый 18.06.2016, 10:29   #29
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: AVR (mega328p)

Опять туплю где-то... Может кто свежим взглядом выведает:
PHP код:
#include <avr/interrupt.h>

volatile uint16_t Hot_CountCold_Count
uint16_t HotCold;

void setup() {
  
// put your setup code here, to run once:
PCICR 0b00000001// включаем прерывания PCINT0. цитата из даташита Bit 0 – PCIE0: Pin Change Interrupt Enable. Any change on any enabled PCINT[7:0] pin will cause an interrupt.
DDRB 0b00111100// пины 0 и 1 порта B - это входы, все остальное - выходы. 
PORTB 0x00;  // отключаем подтяжку на всех пинах. входы 0 и 1 подтянуты к земле через резистор,и к +5v через кнопку.
PCMSK0 0b00000011// Создаем маску для PCINT0, чтобы реагировать только на пины 0 и 1. Т.к. на остальных могут быть релешки и не нужно дергать прерыывание при их срабатывании.
 
sei();
  
Serial.begin(9600);
  
Serial.print("I'm ready\n\r"); //Для отладки, пишем что ардуинка жива.


}


ISR(PCINT0_vect){  // Кто-то дернул прерывание на portb
   
Serial.print("start interrupt\n\r");
 if ((
PINB&(<< PB0)) == 1&&Cold_Count==0){ //Если это PB0(8 пин), то нужно добавить 10л к холодной воде. второй частью проверяем, что мы это срабатывание еще не учитывали.
  
Cold_Count 1// сообщаем в основной цикл, что было срабатывание геркона на холодной воде.
    
Serial.print("Cold_count\n\r");
 }

 if ((
PINB&(<< PB1)) == 1&&Hot_Count==0){ //Если это PB1(9 пин), то делаем то же самое с горячей водой.
  
Hot_Count 1
    
Serial.print("Hot_count\n\r");
 }
   

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

UPD:
Нашел причину, но все равно не понял....
PHP код:
(PINB&(<< PB1)) == // Но почему? и как правильно? 

Последний раз редактировалось Tohin; 18.06.2016 в 11:01.
Tohin вне форума   Ответить с цитированием
Старый 18.06.2016, 10:44   #30
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: AVR (mega328p)

Если мне память не изменяет , то Serial.print в обработчике прерывания запрещено использовать
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 10 (пользователей: 0 , гостей: 10)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:31. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика