| Форум РадиоКот 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/ |
|


