Black Jack
-
Постов
2 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные Black Jack
-
-
Приветствую уважаемых форумчан. Решил я тут написать програмку десятичной коррекции 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 обратно.
Подскажите, кто знает, а я поделюсь готовым исходником.
0
Программатор не видит микроконтроллер stm32f103vet6
в STM32
Опубликовано
Здравствуйте, программатор st-link не видит микроконтроллер STM32F103VET6. Присоединение кварца и внешнее тактирование не помогли. Что не так делаю, подскажите.
схема.dch плата.dip