Соответственно на выход поставил светодиоды.Написал программу.Запуск светодиоды негорят.
Подношу палец к микросхеме зажигаются.
И еще проблемма с написанием программы с проверкой бита. Тоесть есть число проверяем 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;
}


