CC2500 Часть третья.

Идем дальше. Для программирования я буду использовать IAR и стандартную библиотеку периферии.

Некоторое время назад на сайте TI лежал пример для MSP430 и CC2500. Потом его выпилили, и сейчас там очень запутанный пример, разбираться в котором сейчас желания нет. За основу я возьму эту библиотеку, она ближе всего к тому, исходному примеру от TI.

Я изменил код библиотеки, поменял функции низкоуровневой работы с GPIO на стандартную библиотеку. Добавил поддержку softSPI, в дальнейшем прикручу аппаратный модуль SPI. Добавил функцию получения уровня несущей.

Налаживание

Первое что нужно проверить после первого включения — частоту на выходе GDO0, она должна быть около 140625. Если она отличается-значит кварц запустился не на той частоте. Кварц может запустится на частоте в 3 раза ниже, на основной гармонике, в таком случае можно попробовать параллельно кварцу припаять резистор 2k.

Проверьте напряжение на конденсаторе C5, оно должно быть в пределах 1,6-2,0 вольт, без шумов.

Использование библиотеки

Остановлюсь подробно, какие файлы нужны для работы.
.\device.h — Подключает файл описания железа, в нашем случае это CC2500_zeroboard.h
.\device\st\stm8l\CC2500_zeroboard.h — Заголовочный файл с описанием железа, для своего железа создайте новый файл с названием, и заполните его по образу и подобию, а также добавьте ссылку на него в device.h
.\cc2500\cc2500.c — Собственно библиотека CC2500
.\cc2500.h — Заголовочный файл библиотеки
.\spi\stm8l\spi.c — Реализация SPI на STM8L, на данный момент только софт.
.\spi.h — Заголовочный файл для SPI, единый для любой реализации SPI, дополнительно содержит определения регистров CC2500

Остальные файлы библиотеки относятся к MSP430 и не представляют интереса, при желании могут быть удалены.

Создайте проект и подключите стандартную библиотеку периферии, и библиотеку CC2500.
Вот что должно получится.

Структура проекта

Модифицируем файл, отвечающий за железо, CC2500_zeroboard.h, либо создаем свой.

Тестируем

Вместе с библиотекой идет куча примеров от автора, но мы пойдем по своему пути.
Простейшая прошивка не проверяет адрес, CC2500 настроен на переменную длину пакета, но программа использует пакет в 1 байт. При нажатии на кнопку происходит инкремент счётчика, вывод младших 4-х байт светодиодами, и передача нового значения по радиоканалу. При приёме посылки содержимое счётчика заменяется на принятое.
Вот как это выглядит.

Скачать проект для IAR

 

1 Комментарии к этой записи

Оставить комментарий