Использование аппаратного I2C MSP430LaunchPad и EZ430-F2012 для подключения сегментного индикатора МЭЛТ-10

Поскольку процессоры MSP430G2553 и MSP430F2012 имеют на борту аппаратный I2C, то захотелось подключить сегментный индикатор МЭЛТ-10 не программным способом ( как описывал в предыдущей заметке), а используя железо.
На просторах интернета обнаружил некоторое количество ругани на примеры от Texas Instruments в смысле их неработоспособности, нечитаемости и т.д. Однако, усомнился в том, что у столь серьёзной фирмы инженеры не думают об упрощении жизни конечных пользователей.
Итак, SDA и SCL от индикатора по-прежнему подтягиваем через резисторы на + питания и подключаем соответственно на P1.7 и P1.6 процессоров (что у MSP430G2553, что у MSP430F2012). Все управляющие последовательности для МЭЛТ-10 описаны в комментариях программы из предыдущей заметки и используются здесь точно также.
Для работы с MSP430G2553 воспользуемся универсальной (не совсем, но охватывающей большое количество процессоров) библиотекой USCI I2C Master Library, а для MSP430F2012- напишем программу на основе родных примеров программирования.
Исходные тексты библиотеки USCI I2C Master Library лежат в slaa382 и там же можно найти и подробное pdf описание.
Используем вариант библиотеки без DMA.
В заголовочном файле TI_USCI_I2C_master.h прописывем номера ног на которых находится USI I2C:
#define SDA_PIN BIT7
#define SCL_PIN BIT6.
В файле TI_USCI_I2C_master.c вставляем нужный нам заголовочный файл msp430g2553.h и,
глядя в даташит процессора g2553, заменяем везде где встречается по дороге P3SEL на P1SEL и P1SEL2.

Всё. Программа работает. Никаких затруднений не встретилось.
Для MSP430F2012 примеры программирования качаем из slac080i. В файле msp430x20x3_usi_12.c находится пример I2C Master Transmitter / Reciever, multiple bytes- то что нам надо.
Убрав оттуда лишнее для нас помаргивание светодиодом и задержки (где надо воспользуемся своей функцией), получаем немедленно работающую программу.
Передача указателей на посылаемые байты сделана у меня совсем не изящно, но с целью сохранить текст TI программы один в один и убедиться в её работоспособности.

Всё работает.
В приложениях находятся тексты программ для IAR.
Инженерам TI почёт и уважение.
  • +4
  • 15 августа 2012, 07:00
  • libval
  • 2
Файлы в топике: Hard_MELT_I2C.zip, 2012_LCD_HARD_I2C.zip

Комментарии (1)

RSS свернуть / развернуть
какое то устойчивое ощущение де жа вю
0
  • avatar
  • xar
  • 15 августа 2012, 09:44
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.