Например TDA7294

Форум РадиоКот :: Просмотр темы - 74HC595 непонятки
Форум РадиоКот
https://radiokot.ru/forum/

74HC595 непонятки
https://radiokot.ru/forum/viewtopic.php?f=61&t=87258
Страница 1 из 1

Автор:  спящий [ Вс мар 24, 2013 21:56:44 ]
Заголовок сообщения:  74HC595 непонятки

Собсвенно вопрос такой подключил 74HC595a к STM32l,питание 3В
Соответственно на выход поставил светодиоды.Написал программу.Запуск светодиоды негорят.
Подношу палец к микросхеме зажигаются.
И еще проблемма с написанием программы с проверкой бита. Тоесть есть число проверяем 0 бит,выводим на ногу и смещаем число,и так 8 раз.


Спойлерfor(i=0;i<8;i++){
if((data&1)!=1)
GPIOA ->BSRRL = GPIO_BSRR_BS_1 ;
else{
GPIOA ->BSRRH = GPIO_BSRR_BS_1 ;
}
GPIOA ->BSRRH = GPIO_BSRR_BS_3 ;
GPIOA ->BSRRL = GPIO_BSRR_BS_3 ;
data=data>>1;
}


Спойлер#include "stm32l1xx.h"
#include "stdio.h"

void data();

int m,x,l1,l2,l3,adc_i,ugol_1,ugol_2,ugol_3,summ,result1,Lm1,Re1;
uint32_t i;
char adc[512];
void main()
{
//настройка выводов
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER |= (GPIO_MODER_MODER1_0|GPIO_MODER_MODER2_0|GPIO_MODER_MODER3_0|GPIO_MODER_MODER4_0|GPIO_MODER_MODER5_0|GPIO_MODER_MODER6_0|GPIO_MODER_MODER7_0);
GPIOA->OTYPER &= ~(GPIO_OTYPER_OT_1|GPIO_OTYPER_OT_2|GPIO_OTYPER_OT_3|GPIO_OTYPER_OT_4|GPIO_OTYPER_OT_5|GPIO_OTYPER_OT_6|GPIO_OTYPER_OT_7);
GPIOA->PUPDR &= ~(GPIO_PUPDR_PUPDR1|GPIO_PUPDR_PUPDR2|GPIO_PUPDR_PUPDR3|GPIO_PUPDR_PUPDR4|GPIO_PUPDR_PUPDR5|GPIO_PUPDR_PUPDR6|GPIO_PUPDR_PUPDR7);
GPIOA->OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR1|GPIO_OSPEEDER_OSPEEDR2|GPIO_OSPEEDER_OSPEEDR3|GPIO_OSPEEDER_OSPEEDR4|GPIO_OSPEEDER_OSPEEDR5|GPIO_OSPEEDER_OSPEEDR6|GPIO_OSPEEDER_OSPEEDR7);

RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
GPIOB->MODER |= (GPIO_MODER_MODER1_0|GPIO_MODER_MODER2_0|GPIO_MODER_MODER3_0|GPIO_MODER_MODER4_0|GPIO_MODER_MODER5_0|GPIO_MODER_MODER6_0|GPIO_MODER_MODER7_0);
GPIOB->OTYPER &= ~(GPIO_OTYPER_OT_1|GPIO_OTYPER_OT_2|GPIO_OTYPER_OT_3|GPIO_OTYPER_OT_4|GPIO_OTYPER_OT_5|GPIO_OTYPER_OT_6|GPIO_OTYPER_OT_7);
GPIOB->PUPDR &= ~(GPIO_PUPDR_PUPDR1|GPIO_PUPDR_PUPDR2|GPIO_PUPDR_PUPDR3|GPIO_PUPDR_PUPDR4|GPIO_PUPDR_PUPDR5|GPIO_PUPDR_PUPDR6|GPIO_PUPDR_PUPDR7);
GPIOB->OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR1|GPIO_OSPEEDER_OSPEEDR2|GPIO_OSPEEDER_OSPEEDR3|GPIO_OSPEEDER_OSPEEDR4|GPIO_OSPEEDER_OSPEEDR5|GPIO_OSPEEDER_OSPEEDR6|GPIO_OSPEEDER_OSPEEDR7);
// pa1= DATA PA2=ЗАЩЕЛКА ST PA3=SH ТАКТ

while(1)
{
data(0X0100100);
}

}


void data(int data){

GPIOA ->BSRRH = GPIO_BSRR_BS_2 ;

for(i=0;i<8;i++){
if((data&1)!=1)
GPIOA ->BSRRL = GPIO_BSRR_BS_1 ;
else{
GPIOA ->BSRRH = GPIO_BSRR_BS_1 ;
}
GPIOA ->BSRRH = GPIO_BSRR_BS_3 ;
GPIOA ->BSRRL = GPIO_BSRR_BS_3 ;
data=data>>1;
}


GPIOA ->BSRRL = GPIO_BSRR_BS_2;
}

Автор:  uk8amk [ Пн мар 25, 2013 07:38:31 ]
Заголовок сообщения:  Re: 74HC595 непонятки

Код:
data(0X0100100);

Разложите это число на биты, посмотрите на младшие 8 бит, поймете почему светодиоды не могут загореться.

Цитата:
Подношу палец к микросхеме зажигаются.

Пины неправильно настроены на выход и ловят наводку.

Автор:  ChipKiller [ Пн мар 25, 2013 13:03:04 ]
Заголовок сообщения:  Re: 74HC595 непонятки

uk8amk писал(а):
Разложите это число на биты, посмотрите на младшие 8 бит, поймете почему светодиоды не могут загореться.
..для некоторых нет разницы между 0X0100100 и 0b0100100, хотя первое значение явно 32-х битное. (причем 0b... "песня" из ассемблера, а программа то на С - какие мелочи :) )

Автор:  kalobyte [ Пн мар 25, 2013 14:41:22 ]
Заголовок сообщения:  Re: 74HC595 непонятки

ChipKiller писал(а):
для некоторых нет разницы между 0X0100100 и 0b0100100

я автоматом зацепился за это 0х с нулями и единицами, но сознанием не мог осознать
вижу, что что-то не то, а понять не могу
секунд 10 смотрел и думал, а потом твой пост увидел :)))

и вот так очень часто интуитивно вижу что-то "не то", а мозги еще жутко тормозят

Автор:  спящий [ Пн мар 25, 2013 19:53:51 ]
Заголовок сообщения:  Re: 74HC595 непонятки

всеравно негорят, только когда палец подводиш,от наводки,может быть питание 3В,маленькое.

Автор:  спящий [ Пн мар 25, 2013 20:02:53 ]
Заголовок сообщения:  Re: 74HC595 непонятки

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

Автор:  спящий [ Пн мар 25, 2013 21:07:03 ]
Заголовок сообщения:  Re: 74HC595 непонятки

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/