mikroBasic PIC32 - возможности
|
|
vv |
Дата: Пт, 23.09.2011, 10:36 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Совсем тема заглохла, неужели никто не пишет на микробасике? А ведь возможности у него не самые худшие. На мой взгляд гораздо перспективней, чем протон и т.д. (из басиков).
Выкладываю пример использования китайского дисплея TFT8K1358 с контроллером ILI9325, стоимость которого около 200-250 рублей, при его размерах 69*49 мм!!! Чем не находка для поделок?
Производительность можно оценить по ссылке
Сообщение отредактировал
vv - Пт, 23.09.2011, 10:38
|
|
|
|
ivan_fd |
Дата: Пт, 23.09.2011, 12:24 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
891
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Интересно, не плохо. Спасибо!
Quote (vv) неужели никто не пишет на микробасике?
Наверно люди боятся переходить на что то новое.
Я сейчас немного забыл о Протоне. Пересел на MikroPascal. Достаточно мощный продукт(как и MikroBasic и MikroC), пусть, что не говорят люди.
|
|
|
|
vv |
Дата: Пт, 23.09.2011, 12:43 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Так же и боятся переходить на более шустрые новые контроллеры? Пару лет назад понятия не имел о МК. Решил попробовать, наткнулся на picbasic.ru. Теперь пытаю 32-х разрядное семейство. Один недостаток - мелкий шаг выводов (в моем случае 0,4, но есть и 0,5). хотя ЛУТом при определенной сноровке результат на 4+.
Кстати не так сложно портировать код между MikroPascal, MikroBasic и MikroC. И продукт от Mikroe на мой взгляд действительно хорош!
|
|
|
|
ADMIN |
Дата: Пт, 23.09.2011, 13:11 | Сообщение # 4 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1082
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Он хорош, но не для 8-разрядных МК. Хоть библиотек много и позволяют решить практически любую задачу, но после компиляции занимает очень много программной памяти, а 12 и 16-е пики не могут похвастаться наличием объемной памяти, а они используются довольно часто. Хотя бывают случаи, где большая программа не нужна, нужен элементарный алгоритм. Вот для 18-х Swordfish - самое то. Хотя Microbasic как-то наглядней. Microe создала компиляторы для всех - от любителей писать программы на паскале, Си, Basic. Разница лишь в стиле написания кода (синтаксисе). И что-то мне подсказывает, что разницы в объеме HEX от трансляции одной и той же программы не будет. Никто не проверял, случаем? Если нет, то займусь проверкой.
|
|
|
|
ivan_fd |
Дата: Пт, 23.09.2011, 13:33 | Сообщение # 5 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
891
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Сам лично не проверял, но где то читал, что компилировали один и тот же код на MikroC и MikroPascal - у MikroPascal-я HEX оказался меньшим по размеру.
|
|
|
|
vv |
Дата: Пт, 23.09.2011, 13:49 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
А Вы галочками баловались?
По поводу размера хекса: не обязательно использовать предлагаемые библиотеки, можно писать свои. А можно напрямую конфигурировать МК установкой соответствующих регистров по ходу выполнения программы, тем самым не таща за собой лишние функции библиотек. к примеру: Code sub procedure SetPwm(dim MyData as byte) CCPR1L=MyData end sub
sub procedure StartPwm() PR2 = %01100101 T2CON = %00000101 CCPR1L = %00000000 CCP1CON = %00001100 end sub
sub procedure StopPwm() CCP1CON = %00000000 end sub
И уж если совсем не доверяете компилятору, можно просмотреть созданный файл ассемблера, поправить свой код.
вот то, что транслирует компилятор в асм:
Code ;MyProject.mbas,10 :: sub procedure SetPwm(dim MyData as byte) ;MyProject.mbas,11 :: CCPR1L=MyData MOVF FARG_SetPwm_MyData+0, 0 MOVWF CCPR1L+0 ;MyProject.mbas,13 :: end sub L_end_SetPwm: RETURN ; end of _SetPwm
_StartPwm:
;MyProject.mbas,15 :: sub procedure StartPwm() ;MyProject.mbas,16 :: PR2 = %01100101 MOVLW 101 MOVWF PR2+0 ;MyProject.mbas,17 :: T2CON = %00000101 MOVLW 5 MOVWF T2CON+0 ;MyProject.mbas,18 :: CCPR1L = %00000000 CLRF CCPR1L+0 ;MyProject.mbas,19 :: CCP1CON = %00001100 MOVLW 12 MOVWF CCP1CON+0 ;MyProject.mbas,20 :: end sub L_end_StartPwm: RETURN ; end of _StartPwm
_StopPwm:
;MyProject.mbas,25 :: sub procedure StopPwm() ;MyProject.mbas,26 :: CCP1CON=%00000000 CLRF CCP1CON+0 ;MyProject.mbas,27 :: end sub L_end_StopPwm: RETURN ; end of _StopPwm
|
|
|
|
ivan_fd |
Дата: Пт, 23.09.2011, 14:40 | Сообщение # 7 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
891
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Quote (vv) А Вы галочками баловались?
Quote (ivan_fd) Сам лично не проверял, но где то читал
|
|
|
|
ADMIN |
Дата: Пт, 23.09.2011, 16:29 | Сообщение # 8 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1082
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Quote (ivan_fd) Сам лично не проверял, но где то читал, что компилировали один и тот же код на MikroC и MikroPascal - у MikroPascal-я HEX оказался меньшим по размеру.
Там не было сказано, на сколько? Я вот себе микропаскаля установил, хотел попробовать, да вот все руки не доходят.
|
|
|
|
ivan_fd |
Дата: Пт, 23.09.2011, 20:28 | Сообщение # 9 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
891
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Я не помню, разве, что сам попробую когда будет время и желание.
|
|
|
|