Самодельный передатчик (ver. by Nick_Shl)
Давненько я сюда не заходил…
вопрос к Nick_Shl у вас существует прошивка или нет под вашу схему
Так прошивка тут выложена же. Достаточно скачать репозиториий, вынуть её оттуда и скомпилировать. Если схема другая - подправить Def файл. Могут быть проблемы только с подключением экрана - все что к нему относится кажись в файле “драйвера” экрана.
P.S. подвязок в Hobbico(они же “Башня”) ни у кого нет? Не в плане покупок, а в плане трудоустройства? 😉
Так прошивка тут выложена же. Достаточно скачать репозиториий, вынуть её оттуда и скомпилировать.
слово репозиториий это что, потом мне нужно искать к-то софт, чтоб это собрать. ну и вопрос: а нельзя ли это в виде гекс файла под конкретную схему: скажем та что приведена.
Nick Shl , please post a file hex here if you can share . thanks
C hex проблемка… вернее не с ним, а со схемой. Это первый вариант, потом я сделал другую схему, но не рисовал её, а просто развел плату. Потом подключается я смотрел на какой пин что подключается и вбивал в Def.h
Выложил последнюю версию кода. Там же и Hex.
Про подключение. Начнем с LCD. Его подключение описано в MT12864.c:
#define LCD_DATA_PORT PORTC
#define LCD_DATA_DDR DDRC
#define LCD_DATA_PIN PINC
#define LCD_BL(x) PORTA.0 = x // Подсветка ЖКИ
#define LCD_E(x) PORTA.3 = x // Линия E ЖКИ (строб)
#define LCD_A0(x) PORTA.4 = x // Линия A0 ЖКИ (данные/команда)
#define LCD_RW(x) PORTA.5 = x // Линия RW ЖКИ (запись/чтение)
#define LCD_RES(x) PORTA.6 = x // Линия RES ЖКИ (сброс)
// Линии CS ЖКИ (выборка)
#define LCD_C1(x) PORTG = (PORTG & (~(1 << 2))) | (x << 2) // PORTG.2
#define LCD_C2(x) PORTA.7 = x
Линии Data на LCD подключаются на PORTC 1 к 1: 0 к 0 … 7 к 7
Остальные линии смотрите на название порта и номер пина после точки(нумеруются с 0).
Далее остальное:
// *****************************************************************************
// *** Триммеры ************************************************************
// *****************************************************************************
#define trim_0up !PINE.7
#define trim_0down !PINE.6
#define trim_1up !PINB.2
#define trim_1down !PINB.3
#define trim_2up 0// У меня отсутствует
#define trim_2down 0// У меня отсутствует
#define trim_3up !PINE.4
#define trim_3down !PINE.5
// *****************************************************************************
// *** Кнопки навигации ****************************************************
// *****************************************************************************
#define HB_UP !PIND.3
#define HB_DOWN !PIND.1
#define HB_LEFT !PIND.2
#define HB_RIGHT !PIND.0
#define HB_BACK !PIND.4
#define HB_ENTER !PIND.5
// *****************************************************************************
// *** Стрелочный индикатор ***
// *** Значения 0x00 - 0xFF ***
// *****************************************************************************
#define GAUGE(x) OCR0 = x
// *****************************************************************************
// *** Зуммер ***
// *** "1" включен, "0" выключен. PORTG.2 отсутствует :( ***
// *****************************************************************************
#define BUZ(x) PORTB.7 = x
// *****************************************************************************
// *** Светодиоды **********************************************************
// *****************************************************************************
#define LED1(x)
#define LED2(x) PORTB.4 = x
// *****************************************************************************
// *** Переключатели *******************************************************
// *****************************************************************************
#define MODE_KEY1 !PINE.2
#define MODE_KEY2 !PINE.3
// Возможно использование SW1 как трехпозиционный, так и как двухпозиционный
// Ксли определен SW1 - преключатель двухпозиционный
//#define SW1 !PIND.7
// Иначе(должены быть определёны SW1_1 и SW1_2) - трехпозиционный
#define SW1_1 !PINA.1
#define SW1_2 !PINA.2
#define SW2 !(PING&(1 << 1)) // PING.1
#define SW3 0
#define SW4 0
#define Tcut_KEY !(PING&(1 << 0)) // PING.0
#define DUAL_AIL !PIND.6
#define DUAL_ELE !PIND.7
#define DUAL_RUD 0
так, попробую поразобраться.
Николай, а нельзя ли схемку в чем-нибудь простом - картинкой
все понял, отстал. просто я думал, что у вас там файлик это схема. ну а по плате все будет понятно