я об этом и написал :-)
одну две команды все равно вручную посылать нужно…
Опять таки DMA это хорошо, но все таки нужно понимать как происходит работа изнутри…
. . .
;---- первый способ
LDR r2, text1 ; загружаем адрес текста 1 в регистр r2
. . .
text1 DCD txt ; содержит адрес "Hello"
. . .
txt DCB "Hello",0 ; содержит буквы H, e, l, l, o и 0
помоему конструкция излишне сложная… можна написать проще:
. . .
;---- первый способ
LDR r2, =txt ; загружаем адрес txt в регистр r2
. . .
txt DCB "Hello",0 ; содержит буквы H, e, l, l, o и 0
то есть промежуточная константа text1 просто не нужна!
и наверное он прав…
в какой то мере одно это достоинство перевешивает все его недостатки :-)
и если «вдруг» реклама вернется — то большинство точно будет мигрировать на другие браузеры…
вот и решил на хабре написать…
все таки ресурс достаточно хорошо индексируется поисковиками, может быть кто то набредет до статьи раньше чем напишет не правильный код…
тем более что неправильно написанный код еще и нервов портит — потому что вроде работает, но что нить изменишь и уже не работает!..
посмотрел бегло по даташитам
STM32F1, STM32F2, STM32F4 — имеют одинаковый по функциональности SPI
в STM32F3 — по все видимости вообще организован FIFO 3x32!!!
про 16 бит у меня написано, да и не ставилась цель рассказывать про битность… это узкоцелевая статья — про работу флагов интерфейса SPI
DMA и прерывания вы не сможете удобно и эффективно использовать при передаче «солянки» из данных и команд…
это понятно, у меня у самого примерно такая ситуация была…
проблемы стали возникать когда я стал менять скорость SPI — вся работа с дисплеями стала рушиться! и вот тогда я понял что работаю с дисплеем не правильно…
сейчас у меня все модули работы с дисплеями работают как минимум от 1 мгц до максимума… — это как раз самый лучший показатель что все написано верно…
в гугле одна из первых ссылок rutracker.unblock.ga — это левак или их не будут блокировать?
имхо достаточно регистрировать новые домены каждый месяц и по поиску их будут находить…
p.s. сам пользовался рутрекером крайне редко — поэтому плагин обхода не ставлю, и судя по ссылке выше это и не нужно…
вообще на территории РФ любая организация является налоговым агентом по отношению к физ. лицу — так что именно она должна удерживать НДФЛ…
во всех случаях когда НДФЛ не был удержан — вы должны сделать это сами подав декларацию в налоговую…
p.s. вопросы проверки подали вы или не подали — я не обсуждаю…
это не проверка координат а скорее проверка выхода за границы буфера экрана… да и при попытке задать допустимый параметр Y но не допустимый по X — потом замучаешься отлаживаться
на счет стандартного ABI — спасибо за подсказку, посмотрел, подумаю…
просто на асме я давно программирую (это на ARM недавно стал смотреть по серьездному), и у меня всегда низшие регистры являются расходными…
а вот сколько их будет — я себя не ограничиваю…
на счет списка желаний — если бы нашелся программист на Delpi (я как то очень давно писал на нем немного) и если бы мне хотябы каркас дали — то я бы дописывал потихоньку…
самому конечно разбираться не очень хочется с нуля, потому что тут что то одно — либо в асме разбираешься и максимально погружаешься либо во что то еще…
в принципе список за исключением некоторых пунктов не такой уж и сложный, по крайней мере у меня в голове задача структурируется, и я потихоньку функциональность напишу… но вот что касается интерфейса программы — то тут я точно не смогу :-((( (ну по меньшей мере пока не начну погружаться по серьездному)
По поводу BIC / BFI — посмотрю, просто сам ассемблер только изучаю, и ресурсов в которых бы понятно объяснялась логика команд в сети от совсем мало до совсем нет (хотелось бы видеть примеры вида: на входе / на выходе, а везде только названия из которых не всегда понятно что они собой представляют) — на счет того что написано по Си-шному — в точку! со своего старого исходника на Си и делал! :-)
Теперь когда у меня появился вывод на LCD — у меня как раз запланировано изучение команд, я наметил себе следующую часть публикации именно по командам, чтобы полностью разобрать какая и как работает…
На счет сохранения регистров — ну по процедурам _INIT согласен, на счет других же — абсолютно не согласен! процедуры тогда и только тогда хороши — когда не нужно думать о том что будет после них… в том же драйвере дисплея есть подпрограммы проверки флагов, управления линиями управления дисплея — вот они регистры не сохраняют, и это уже моя забота была за этим следить… а все что отдается на .global — должно гарантировано не портить регистры (ну по крайней мере где это логично)
А какие из существующих подходят для ассемблера (я не про подсветку кода говорю это как раз низкоприоритетное желание)?
у меня вот получился следующий список желания (я еще не сортировал по очередности и нужности):
1) Подсветка кода ассемблера
2) Авто дополнение вводимого кода (PUSH -> POP, IT — IT Block, и т.д.)
3) Контроль глобальных и локальных меток
4) Подсказка по инструкциям ассемблера
5) Контроль параметров подпрограмм
6) Поддержка программ как модулей с возможностью их добавления и удаления
7) Контроль в редакторе опций условного исполнения
8) Перенаправление сообщений консоли на себя, компиляция и компановка при помощи GNU AS
9) Файлменеджер проекта с крупными значками
10) Закладки в файл менеджере (переход в нужную папку одним кликом)
11) Переход на метку программы в редакторе
12) Автоматическое формирование списка констант модуля и дописывание в начало
13) Система помощи по регистрам настройки микроконтроллера
14) Мастеркода (автосоставитель кода) — например для настройки GPIO, SPI, DCMI и т.д.
15) Эмуляция исполнения кода
16) Настраиваемые окна среды (все! а не только окно редактора)
17) Отладка (пока не понимаю как, но как задача висит)
просто мне бы очень не хотелось чтобы кто-то обосновывал мою подлинность на основании данных о фактах которые ко мне лично никак не относятся…
а если я работаю в клиентском отделе, и у меня за стойкой в день по 150 человек проходят?
а если работа носит разъездной характер?
а если кому то понадобиться меня «заменить» — то отсканировать блютуз устройста в моем окружении, и wifi сети — сможет ВООБЩЕ ЛЮБОЙ ПЕРВОКЛАСНИК! причем потом в телефоны друзей запишет нужные (отсканированные) имена телефонов, в роутер — имя точки доступа — и что ???? — точность 90% говорите ?!!!
помоему гугл уже «воспитывали» не тему сканирования сетей wi-fi (к сожалению не знаю чем закончилось), — они теперь хотят еще этот процесс делать на телефоне каждого пользователя?
тогда фактически это система контроля за моим положением, моими перемещениями, контроль за тем с кем я общаюсь… вы тут переживаете за то что большой брат за вами следит? по сравнению с гуглом — слежка большого брата это детские игры в шпионов!
мда…
ну вот я например пользуюсь какими то программами на работе, рядом у меня коллеги, wifi… все ОК, коэффициент доверия будет 90…
потом банально поехал в отпуск… и все ?!!!
ИМХО совсем сырая идея… совсем, совсем сырая… которая скорее всего скатится до банального сканирования лица (уже есть в андроид), сетчатки глаза (со всеми замечаниями, что уже написаны в комментариях выше), отпечатков пальцев (для телефонов в которых сканер отпечатков есть)…
одну две команды все равно вручную посылать нужно…
Опять таки DMA это хорошо, но все таки нужно понимать как происходит работа изнутри…
помоему конструкция излишне сложная… можна написать проще:
то есть промежуточная константа text1 просто не нужна!
в какой то мере одно это достоинство перевешивает все его недостатки :-)
и если «вдруг» реклама вернется — то большинство точно будет мигрировать на другие браузеры…
все таки ресурс достаточно хорошо индексируется поисковиками, может быть кто то набредет до статьи раньше чем напишет не правильный код…
тем более что неправильно написанный код еще и нервов портит — потому что вроде работает, но что нить изменишь и уже не работает!..
STM32F1, STM32F2, STM32F4 — имеют одинаковый по функциональности SPI
в STM32F3 — по все видимости вообще организован FIFO 3x32!!!
про 16 бит у меня написано, да и не ставилась цель рассказывать про битность… это узкоцелевая статья — про работу флагов интерфейса SPI
DMA и прерывания вы не сможете удобно и эффективно использовать при передаче «солянки» из данных и команд…
Что за дисплей подключали?
проблемы стали возникать когда я стал менять скорость SPI — вся работа с дисплеями стала рушиться! и вот тогда я понял что работаю с дисплеем не правильно…
сейчас у меня все модули работы с дисплеями работают как минимум от 1 мгц до максимума… — это как раз самый лучший показатель что все написано верно…
интересует привилегированный и обычный режимы процессора, минимальные функции и т.д.
жаль…
интересна сама система!
(написал чтобы потом иметь возможность комментировать)
в гугле одна из первых ссылок rutracker.unblock.ga — это левак или их не будут блокировать?
имхо достаточно регистрировать новые домены каждый месяц и по поиску их будут находить…
p.s. сам пользовался рутрекером крайне редко — поэтому плагин обхода не ставлю, и судя по ссылке выше это и не нужно…
вообще на территории РФ любая организация является налоговым агентом по отношению к физ. лицу — так что именно она должна удерживать НДФЛ…
во всех случаях когда НДФЛ не был удержан — вы должны сделать это сами подав декларацию в налоговую…
p.s. вопросы проверки подали вы или не подали — я не обсуждаю…
правда с небольшими уточнениями
прирост скорости 80%!!! (38225 тактов на рисование третьего слайда)
это не проверка координат а скорее проверка выхода за границы буфера экрана… да и при попытке задать допустимый параметр Y но не допустимый по X — потом замучаешься отлаживаться
а вот циклический сдвиг — это красивое решение!!!
постараюсь попробовать сегодня вечером!
просто на асме я давно программирую (это на ARM недавно стал смотреть по серьездному), и у меня всегда низшие регистры являются расходными…
а вот сколько их будет — я себя не ограничиваю…
на счет списка желаний — если бы нашелся программист на Delpi (я как то очень давно писал на нем немного) и если бы мне хотябы каркас дали — то я бы дописывал потихоньку…
самому конечно разбираться не очень хочется с нуля, потому что тут что то одно — либо в асме разбираешься и максимально погружаешься либо во что то еще…
в принципе список за исключением некоторых пунктов не такой уж и сложный, по крайней мере у меня в голове задача структурируется, и я потихоньку функциональность напишу… но вот что касается интерфейса программы — то тут я точно не смогу :-((( (ну по меньшей мере пока не начну погружаться по серьездному)
Теперь когда у меня появился вывод на LCD — у меня как раз запланировано изучение команд, я наметил себе следующую часть публикации именно по командам, чтобы полностью разобрать какая и как работает…
На счет сохранения регистров — ну по процедурам _INIT согласен, на счет других же — абсолютно не согласен! процедуры тогда и только тогда хороши — когда не нужно думать о том что будет после них… в том же драйвере дисплея есть подпрограммы проверки флагов, управления линиями управления дисплея — вот они регистры не сохраняют, и это уже моя забота была за этим следить… а все что отдается на .global — должно гарантировано не портить регистры (ну по крайней мере где это логично)
А какие из существующих подходят для ассемблера (я не про подсветку кода говорю это как раз низкоприоритетное желание)?
у меня вот получился следующий список желания (я еще не сортировал по очередности и нужности):
1) Подсветка кода ассемблера
2) Авто дополнение вводимого кода (PUSH -> POP, IT — IT Block, и т.д.)
3) Контроль глобальных и локальных меток
4) Подсказка по инструкциям ассемблера
5) Контроль параметров подпрограмм
6) Поддержка программ как модулей с возможностью их добавления и удаления
7) Контроль в редакторе опций условного исполнения
8) Перенаправление сообщений консоли на себя, компиляция и компановка при помощи GNU AS
9) Файлменеджер проекта с крупными значками
10) Закладки в файл менеджере (переход в нужную папку одним кликом)
11) Переход на метку программы в редакторе
12) Автоматическое формирование списка констант модуля и дописывание в начало
13) Система помощи по регистрам настройки микроконтроллера
14) Мастеркода (автосоставитель кода) — например для настройки GPIO, SPI, DCMI и т.д.
15) Эмуляция исполнения кода
16) Настраиваемые окна среды (все! а не только окно редактора)
17) Отладка (пока не понимаю как, но как задача висит)
вопрос на засыпку — в следующей части просто рассмотреть работу SPI или не тянуть кота за хвост и подключить какой нить простой SPI дисплей?
ну это понятно…
но ведь это вопросы безопасности — а значит нужно всегда рассматривать самый крайний с точки зрения негатива случай…
а если я работаю в клиентском отделе, и у меня за стойкой в день по 150 человек проходят?
а если работа носит разъездной характер?
а если кому то понадобиться меня «заменить» — то отсканировать блютуз устройста в моем окружении, и wifi сети — сможет ВООБЩЕ ЛЮБОЙ ПЕРВОКЛАСНИК! причем потом в телефоны друзей запишет нужные (отсканированные) имена телефонов, в роутер — имя точки доступа — и что ???? — точность 90% говорите ?!!!
помоему гугл уже «воспитывали» не тему сканирования сетей wi-fi (к сожалению не знаю чем закончилось), — они теперь хотят еще этот процесс делать на телефоне каждого пользователя?
тогда фактически это система контроля за моим положением, моими перемещениями, контроль за тем с кем я общаюсь… вы тут переживаете за то что большой брат за вами следит? по сравнению с гуглом — слежка большого брата это детские игры в шпионов!
Пароль, пароль, и еще раз пароль…
а все остальное — это баловство!
ну вот я например пользуюсь какими то программами на работе, рядом у меня коллеги, wifi… все ОК, коэффициент доверия будет 90…
потом банально поехал в отпуск… и все ?!!!
ИМХО совсем сырая идея… совсем, совсем сырая… которая скорее всего скатится до банального сканирования лица (уже есть в андроид), сетчатки глаза (со всеми замечаниями, что уже написаны в комментариях выше), отпечатков пальцев (для телефонов в которых сканер отпечатков есть)…
CMP R1, R2
нужно было сделать в цикле…