Перейти к содержанию
bbh_blocked_dnftl

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


Рекомендуемые сообщения

Необходимо выводить на блок из 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

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...