STM32f303vc вывод на блок семисегментного дисплея

6-07-2018, 16:38 От: admin Посмотрели: 8
Необходимо выводить на блок из 4 семисегментных индикаторов данные, управление лежит на двух сдвиговых регистрах:
Первый хранит в себе число на вывод, второй адрес(адресует на конкретный разряд в блоке).







Данные передаю через аппаратный SPI, настроенный в STM32CubeMX, но он у меня не работает.
Мой алгоритм



Задаю наборы для отображения на индикаторе и адресные наборы для перемещения по разрядам в блоке.



uint8_t i,j = 0;
uint8_t buff[8] = {1,2,3,4,5,6,7,8};
uint8_t digit[10] = {
0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90, // 9
};
uint8_t chr[4] = {
0x8,
0x4,
0x2,
0x1
};



Строб необходим для начала записи данных в регистр хранения сдвигового регистра



void strob(void){
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
HAL_Delay(85);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
HAL_Delay(85);
}



Функция передачи данных с использованием HAL функции и строба.
void spi_send(uint8_t *data, uint8_t it){
strob();
uint8_t *d = data;
for(j = 0; j <=it; j++){
d = &data[j];
HAL_SPI_Transmit ( &hspi1, d, 8, 50);
}
strob();
}



Отправляю смешение по элементам блока семисегментного индикатора.



while (1)
{ i++;
if(i<=4){
spi_send(chr, i);
} else i = 4;
i = -1;



s.7z
Файлы с IAR проектом и CubeMX проектом инициализации.

1dsfs.7z
Пример работы индикатора

video_2018-07-04_00-13-42.mp4

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления STM32f303vc вывод на блок семисегментного дисплея все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба


Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Как называется всемирная электронная паутина?
Ответ:*
Введите код
с картинки:*


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Календарь новостей
«    Сентябрь 2018    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930