Перейти к содержанию

    

VladislavS

Свой
  • Публикаций

    507
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о VladislavS

Контакты

  • Сайт
    http://vsagunovs@gmail.com
  • ICQ
    0

Информация

  • Город
    Москва

Посетители профиля

2 111 просмотр профиля
  1. Cosmic IdeaSTM8 и тип INT

    stdint.h - это же стандарт языка. Даже wiki про него знает.
  2. Cosmic IdeaSTM8 и тип INT

    Да ну на. Даже боюсь сравнить результат int8_t foo(int8_t x) { if((x+127)>0) return 1; else return 0; } или int_fast8_t foo(int_fast8_t x) { if((x+127)>0) return 1; else return 0; }
  3. stm32 i2c

    Ещё заметил, что сильно уменьшает количество "подвисонов" вот такой сброс перед конфигурированием. I2C1->CR1 = I2C_CR1_SWRST; I2C1->CR1 = 0;
  4. Cosmic IdeaSTM8 и тип INT

    Вы хотели посмотреть команды приведения типов - я вам их показал. Они будут неизбежно появляться там где разрядность данных не совпадает с разрядностью процессора. Вот функция без приведения типов // int8_t foo(int8_t x) // { // return x-20; SUBS R0,R0,#+20 SXTB R0,R0 BX LR ;; return // } Если бы разрядность процессора совпадала с данными, то всё было бы проще // int32_t foo(int32_t x) // { // return x-20; SUBS R0,R0,#+20 BX LR ;; return // }
  5. Cosmic IdeaSTM8 и тип INT

    Проще всего эти команды обнаружить передавая в функцию и возвращая из функции на ARM int8_t и int32_t в разных сочетаниях. Вот смотри, простейший пример. Всё чисто. // int32_t foo(int32_t x) // { // return x*2; LSLS R0,R0,#+1 BX LR ;; return // } // volatile uint32_t a=10; MOVS R0,#+10 STR R0,[SP, #+0] // volatile uint32_t b = foo(a); LDR R1,[SP, #+0] LSLS R1,R1,#+1 STR R1,[SP, #+0] А теперь поменяем возвращаемый тип. // int8_t foo(int32_t x) // { // return x*2; LSLS R0,R0,#+25 ASRS R0,R0,#+24 BX LR ;; return // } // volatile uint32_t a=10; MOVS R0,#+10 STR R0,[SP, #+0] // volatile uint32_t b = foo(a); LDR R1,[SP, #+0] LSLS R0,R1,#+1 SXTB R0,R0 STR R0,[SP, #+0]
  6. Cosmic IdeaSTM8 и тип INT

    Как бы очевидно, что использование типов данных по разрядности совпадающих с разрядностью процессора ведёт к исключению накладных расходов на приведение типов. Для 8-биток это (u)int8_t, так как int будет 16-битный. С другой стороны, в программе лучше применять типы данных соответствующие описываемым ими сущностям. Так и ошибок будет меньше, и переносимость кода выше.
  7. Cosmic IdeaSTM8 и тип INT

    Господа, давайте без перехода на личности :( А для решения проблемы разрядности целочисленных типов люди собрались и ввели в стандарт stdint.h Кто этим не пользуется, тот ССЗБ.
  8. Cosmic IdeaSTM8 и тип INT

    В С++11 ещё появился. STM8, правда, это скорее всего, не светит. for(auto i=0; i<=10; i++){ };
  9. Cosmic IdeaSTM8 и тип INT

    auto :)
  10. Включить файл данных в проект (прошивку)

    Похоже, вы лучше автора знаете что ему нужно. :)
  11. Включить файл данных в проект (прошивку)

    Достаточно подменить файл данных.
  12. Включить файл данных в проект (прошивку)

    Можно подумать для PIC есть чуть более одна среда разработки.
  13. Включить файл данных в проект (прошивку)

    Какой хекс? Почему хекс? Где там хоть слово про хекс? Какой ещё хедер, где вы взяли хедер? Просто данные, которые надо добавить в прошивку. Есть извращенский метод - перевести данные в исходный код в виде инициализированного массива и вставить в код, но это лишняя возня. Данные поменялись - конвертируй заново. Проще линкером внешний файл подключить и всё.
  14. USB/RS485 cable CDC Class

    Ну, раз у вас институт благородных девиц, то дерзайте.
  15. USB/RS485 cable CDC Class

    Переписать программу update самому. Там сотня строк кода от силы.