Протон 3.5.Х.Х
|
|
anatol |
Дата: Сб, 21.09.2013, 14:07 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Сила инерции и нежелание читать хелпы на новые версии приводит. иногда, к непредсказуемым последствиям. Вот и у меня. Не компилируются (так чтоб работали) старые программы созданные в версии 3.2.х.х Причем одна выложена здесь на сайте. Решил разобраться. Благо она маленькая. При прогоне в симуляторе увиидел что формируется неправильно одна переменная. Оказывается изменен синтаксис команды Dig Старая версия Код NUM[LEDS]=REZULTAT Dig LEDS новая версия Код NUM[LEDS]=Dig REZULTAT,LEDS И все работает. Код также на 2 слова меньше.
Короче - читаем МУ-МУ поставляемую с программой.
|
|
|
|
mikhail09p |
Дата: Сб, 21.09.2013, 21:59 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Наступал на эти грабли!
|
|
|
|
terrarus |
Дата: Ср, 25.09.2013, 14:25 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Подскажите пожалуйста, сейчас у кого из дилеров в России или в Украине или Беларусии можно купить перечислением официальные версии Protona и Proteusa? Кто нибудь покупал?
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал
terrarus - Ср, 25.09.2013, 14:26
|
|
|
|
Gipopotam |
Дата: Пт, 27.09.2013, 01:04 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
2
Замечания:
±
На сайте с 26.09.2013
Статус:
Offline
|
Здравствуйте! Взял на этом форуме исходник вольтметра, но он у меня не компилится в Протоне 3.5.5.6. Видимо написан в более ранней версии Протона. Я в этом деле новичек, скачиваю разные примеры для усваяемости информации. Подскажите в чем проблемма?
'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright © 2013 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 10.09.2013 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device =16F873A Xtal=4 Declare Adin_Res = 12 Declare adin_tag = FRC Declare Adin_Stime = 50
Declare LCD_Type ALPHA Declare LCD_DTPin PORTB.4 Declare LCD_ENPin PORTB.3 Declare LCD_RSPin PORTB.2 Declare LCD_Interface 4 Declare LCD_CommandUs 2000 Declare LCD_DataUs 50 Declare LCD_Lines 4
Declare PortB_Pullups = OFF Declare All_Digital = OFF TRISA = %00000111 ADCON1 = %11000000
Dim var1 As Word Dim var2 As Word Dim var3 As Word
' ** Declare Variables ** Dim Bar_Val As Byte ' Value to be graphed. Dim Bars As Byte ' Number of full ||| bars to draw. Dim Balance As Byte ' Balance left after all |||s are drawn. Dim Balf As Byte ' Is a 'Balance' character needed? (1=yes, 0=no).
' ** Declare Constants ** Symbol B_Wdth = 12 ' Max width in characters of bar. Symbol MaxBar = B_Wdth * 3 ' Max bar counts. Symbol FullBar = 3 ' ASCII value of ||| bar. Symbol BaseBar = 0 ' ASCII value of 0 bar (blank). Symbol CGRAM = 64 '-------------------------------------------------------------------------------
Again: var1 = ADIn 0 var2 = ADIn 1 var3 = ADIn 2
Print At 1,13, Dec2 var1/204.6 Print At 2,13, Dec2 var2/204.6 Print At 3,1, Dec1 var3/42.625 Print $FE,CGRAM,Rep $0\8,$0,Rep $10\6,$0,$0,Rep $14\6,$0,$0,Rep $15\6 GoTo Over_Bargraph
'GoTo BarGraph
BarGraph: Declare Warnings = Off Declare Byte_Math = On Bars = (Bar_Val Min MaxBar) /3 ' One full bar for each 3 graph units. Balance = (Bar_Val Min MaxBar) //3 ' Balance is the remainder after a division by 3. Balf = Balance Min 1 Print At 1,1,Rep FullBar\Bars,Rep (Balance + BaseBar)\Balf,Rep " " \B_Wdth - (Bars + Balf) ' Display the decimal value of BAR_VAL Return Declare Byte_Math = Off Declare Warnings = On '------------------------------------------------------------------------------- ' Demonstration routine Over_Bargraph: Bar_Val = var1/31 GoSub BarGraph
GoTo Again
Сообщение отредактировал
Gipopotam - Пт, 27.09.2013, 01:04
|
|
|
|
ADMIN |
Дата: Пт, 27.09.2013, 07:28 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Какую ошибку пишет?
|
|
|
|
Gipopotam |
Дата: Пт, 27.09.2013, 11:49 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
2
Замечания:
±
На сайте с 26.09.2013
Статус:
Offline
|
Цитата (ADMIN) Какую ошибку пишет?
В версии 3.5.5.6 четыре ошибки:
А вот в версии 3.5.2.6, Hex компилируется нормально, но пишет какие-то два сообщения:
Сообщение отредактировал
Gipopotam - Пт, 27.09.2013, 11:56
|
|
|
|
anatol |
Дата: Пт, 27.09.2013, 13:22 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
С первой ошибкой просто. Правильно будет Declare Adin_Tad = FRC .Сравните буковки. И вообще посмотрите по адресу help - documents - Proton compiler manual . найдите строку Adin. Кстати Declare Adin_Res = 12 - какая разрешающая способность АЦП Device =16F873A по документации. Мне кажется что только ADC5 ch, 10-bit. И время преобразование надо посмотреть, иначе сбои будут.
Добавлено (27.09.2013, 13:22) --------------------------------------------- Кстати за основу была взята программа из примеров в Документы и настройки - пользователь - PDS -Samples - BarGraph.bas На всякий случай приведу Код ' '************************************************************************************************************* '* This source code is provided 'as is' and any express or implied warranties, including, * '* but not limited to, the implied warranties of merchantability and fitness for a particular * '* purpose are disclaimed. * '* * '* In no event shall the author, Crownhill or contributers be liable for any direct, indirect, incidental, * '* special, exemplary, or consequential damages (including, but not limited to, procurement of substitute * '* goods or services; loss of use, data, or profits; or business interruption) however caused and on any * '* theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) * '* arising in any way out of the use of this source code, even if advised of the possibility of such damage. * '* * '* Any views and conclusions contained in the source code and any documentation are those of the author's * '* and should not be interpreted as representing official policies, * '* either expressed or implied, of Crownhill Associates Ltd. * '************************************************************************************************************* ' ' Program BARGRAF2.BAS ' This program generates a horizontal bargraph ' with a 2x16 Intelligent LCD Display.
Include "Proton_4.Inc"
' ** Declare Variables ** Dim Bar_Val As Byte ' Value to be graphed. Dim Bars As Byte ' Number of full ||| bars to draw. Dim Balance As Byte ' Balance left after all |||s are drawn. Dim Balf As Byte ' Is a 'Balance' character needed? (1=yes, 0=no).
' ** Declare Constants ** Symbol B_Wdth = 16 ' Max width in characters of bar. Symbol MaxBar = B_Wdth * 3 ' Max bar counts. Symbol FullBar = 3 ' ASCII value of ||| bar. Symbol BaseBar = 0 ' ASCII value of 0 bar (blank). Symbol CGRAM = 64 '-------------------------------------------------------------------------------
DelayMS 100 Cls ' Create the bit patterns that make up the bars in the LCD's CGRAM. ' The vertical bars are made up of 8 identical bit patterns ' A | bar consists of 5 times %10000, ' A || bar consists of 5 times %10100 ' A ||| bar consists of 5 times %10101
Print $FE,CGRAM,Rep $0\8,$0,Rep $10\6,$0,$0,Rep $14\6,$0,$0,Rep $15\6 GoTo Over_Bargraph ' Jump over the subroutine '------------------------------------------------------------------------------- ' The value in 'Bar_Val' is displayed as a horizontal bar graph ' from the current cursor location with a total width (in characters) set by the B_WDTH constant. ' Each character position can represent a maximum value of 3 using the Fullbar character |||. ' The routine calculates how many full bars to use by dividing by 3. ' If there is a remainder after dividing by 3, the routine joins on a partial-bar character ' ( | or ||) to represent the balance. ' Then it pads out the remainder of the bar width with spaces to erase any leftover bars BarGraph: If Bar_Val > MaxBar Then Return ' Check boundaries Bars = Bar_Val / 3 ' One full bar for each 3 graph units. Balance = Bar_Val // 3 ' Balance is the remainder after a division by 3. If Balance > 1 Then Balance = 1 Balf = Balance Print At 1,1,Rep FullBar\Bars,Rep (Balance + BaseBar)\Balf,Rep " " \B_Wdth - (Bars + Balf) Print At 2,1,Dec Bar_Val," " ' Display the decimal value of BAR_VAL Return '------------------------------------------------------------------------------- ' Demonstration routine Over_Bargraph: For Bar_Val = 0 To 40 GoSub BarGraph DelayMS 100 Next For Bar_Val = 40 To 0 Step -1 GoSub BarGraph DelayMS 100 Next GoTo Over_Bargraph Благополучно изуродована.
Сообщение отредактировал
anatol - Пт, 27.09.2013, 13:24
|
|
|
|
anatol |
Дата: Ср, 16.10.2013, 01:50 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Продолжим. Еще не тестил. Лесс выложил обновление http://www.compile-it.com/pdsbeta.....8.exe Переводить не буду
|
|
|
|
vladh |
Дата: Ср, 16.10.2013, 06:48 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Всем доброго времени дня. Хотел бы высказать свое мнение по поводу "Протона". До недавнего времени я был большим приверженцем этого компилятора. Все предыдущие обновления этого компилятора позволяли работать со старыми разработками. Но после того как в последних новых его версиях перестали поддерживаться старые разработки мне это сильно перестало нравиться. И теперь мне видится разумный переход на mikroBasic. В чем я вижу преимущества этой среды программирования. В первую очередь это практически одна и та же среда для разных МК (PIC, dsPIC, AVR, ARM). Во вторую очередь это большой набор подпрограмм работы с периферией. Очень бы хотелось услышать Ваши мнения по этой проблеме.
|
|
|
|
Matrix252005 |
Дата: Ср, 16.10.2013, 08:52 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!!
vladh, mikroBasic это хорошо!!! Я сам на него "подсел" Очень много возможностей, НО.... Библиотеки у него закрытые, не совсем пока понятна настройка МК!!! Что не есть хорошо...
Я пробовал написать программу для управления экраном LS022 на протоне, но после написания нескольких подпрограмм бросил это дело и написал на "мВ for PIC". Хорошо что можно отлаживать софт в протеусе... С СТМ намного все хуже.... Только в железе...
Так что, если Вы хотите "пообщаться" об "мВ", то есть отдельная ветка на форуме...
Я думаю многим будет интересно....
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Ср, 16.10.2013, 09:18 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Matrix252005, спасибо за ответ. Я только не понял Ваши слова о СТМ? В среде "мВ" компилятора на эти МК нет поэтому непонятно причем здесь они? И потом, непонятно, что Вы подразумеваете под словами: "..непонятна настройка МК"?
Сообщение отредактировал
vladh - Ср, 16.10.2013, 09:21
|
|
|
|
Matrix252005 |
Дата: Ср, 16.10.2013, 09:32 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Цитата vladh ( ) В среде "мВ" компилятора на эти МК нет... Вообще то есть: http://www.mikroe.com/mikrobasic/arm/ И я уже относительно давно им пользуюсь... Сейчас буду пробовать работать с STM32F050...
А по поводу настройки, в протоне можно написать Config ... или Config_Start или вообще ничего не указывать и компилятор сам все "поймет"... В мВ немного сложнее... Я пытался настроить 452 PIC, у меня не получилось, хотя в протоне все норм заработал... Пришлось брать другой МК (4520)...
Настройка портов там не очень...
Так что, если хотите об этом поговорить, то давайте не будем засорять эту ветку и перейдем в соответствующую ветку...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
vladh |
Дата: Ср, 16.10.2013, 09:47 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата Matrix252005 ( ) Простите, я действительно это как то забыл. Хорошо. Может быть тогда уж лучше перейти в "личку"? Я Вам отправил своё "мыло" в личном сообщении.
|
|
|
|
ivan_fd |
Дата: Ср, 16.10.2013, 22:38 | Сообщение # 14 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Компиляторы от Микроэлектроники хороши, и нету никаких проблем с настройкой. Но, код у них получается больший по размеру, по сравнению с тем же Протоном, и медленней. А библиотеки - это не беда, что закрытые. Можно и свои писать.
Цитата vladh ( ) Но после того как в последних новых его версиях перестали поддерживаться старые разработки мне это сильно перестало нравиться. Не так уж и много там изменилось и не в худшую сторону (почти ).
К стати, а где Вы нашли обновление, на сайте не вижу его?
Сообщение отредактировал
ivan_fd - Ср, 16.10.2013, 22:40
|
|
|
|
vladh |
Дата: Чт, 17.10.2013, 05:31 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Цитата ivan_fd13177 Кстати, а где Вы нашли обновление, на сайте не вижу его?
Обновление лежит на форуме: http://www.protonbasic.co.uk/forumdi....iler-v3 Да, изменения не сильные но вполне достаточные для того чтобы потратить день, а то и два время на правку старых программ. Это первое. А второе это то, что мы с Вами уже обсуждали. По поводу 14 разрядных МК. Там не всегда проходят переменные типа word их надо менять на byte. Согласитесь, что это очень мешает. По поводу размера и скорости работы программ. Разговоры об этом ведутся давно и на разных площадках и нигде нет объективного результата. Вот если писать на асме то там все однозначно и код будет меньше и скорость больше. Но сколько времени Вы будете тратить на такую(подчас простую) работу. Учитывая широкую номенклатуру современных МК есть чем скомпенсировать недостатки объемов памяти и тактовой частоты. Зато Вы сможете быстро "сделать дело и гулять смело". Разве не так?
Сообщение отредактировал
vladh - Чт, 17.10.2013, 05:35
|
|
|
|