Jump to content

Black Jack

Members
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Black Jack

  • Rank
    Новенький

Информация

  • Город
    Владимир

Электроника

  • Стаж в электронике
    6-10 лет
  1. Здравствуйте, программатор st-link не видит микроконтроллер STM32F103VET6. Присоединение кварца и внешнее тактирование не помогли. Что не так делаю, подскажите. схема.dch плата.dip
  2. Приветствую уважаемых форумчан. Решил я тут написать програмку десятичной коррекции 32-х разрядного(Long int) двоичного числа для тини 2313 на Си. long BIN_Data; flash long int Const[10]={0x3B9ACA00, 0x5F5E100, 0x989680, 0xF4240, 0x186A0, 0x2710, 0x3E8, 0x64, 0xA, 0x1 }; char DEC_Data[10]; char i=0; // Указатель строки char bait=1 ; long int temp; long *adress; void BIN_to_DEC(void) { i=0; bait=0; while(i<10){ temp=Const[i]; while(BIN_Data>=0){ BIN_Data=BIN_Data-temp; bait++;}; BIN_Data=BIN_Data+temp; bait=bait-1; bait+=0x30; DEC_Data[i]=bait; bait=0; if (BIN_Data==1){ break;} ++i; }; } Да вот незадача, как 4 байта, принятых по USART превратить в исходное число формата long int для корректировки (BIN_Data) Вот так не получилось; программа коррекции видит только младший байт, остальные читает нулями: char USART_In (void) { adress=&BIN_Data; i=0; while (i<4) { # asm ("sei");}; }; interrupt[uSART_RXC] void USART_Control(void){ *adress=UDR; // bait=UDR; //BIN_Data<<=8; // adress++; i++; }; И со сдвигом влево ничего не вышло(BIN_Data<<=8); , там на выходе совсем фигня Кстати если в BIN_Data просто поставить двоичное число, всё работает как надо: программа корректирует его и отсылает по USART обратно. Подскажите, кто знает, а я поделюсь готовым исходником.
×
×
  • Create New...