Разбить строку на символы?
|
|
DAlexV |
Дата: Пт, 22.01.2010, 10:33 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Создал новую тему. Если бы случайно не бросил взгляд, наверное и не заметил бы. Если есть вопрос не описанный на форуме, не бойтесь создавать новые темы !!!!!!!! (удалить всегда проще чем написать )
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
vv |
Дата: Пт, 22.01.2010, 10:34 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Кто подскажет как разбить строку на символы? String to Char array? Или как средствами swordfish получить ascii код символа в строке?
Сообщение отредактировал
vv - Чт, 21.01.2010, 22:34
|
|
|
|
DAlexV |
Дата: Пт, 22.01.2010, 10:34 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (vv) Или как средствами swordfish получить ascii код символа в строке? Для этого нужно было отдельную тему создавать !!!! Ответ на поставленный вопрос: Code Device=18f4550 Clock=20
Include "convert.bas" // Конвертирование данных Include "string.bas" Include "USART.bas"
Dim C,B As String Dim I,A,P As Byte dim X as longword
C="01234567890ABCDEFGH" // исходник для поиска I=0 // длинна строки
SetBaudrate(br57600)
// Первый способ
I=Length(C) // узнаем длинну Write ("LEN=",DecToStr(I),13) // пишем ее в уарт For A=0 To I-1 // в цикле ищем нужный нам знак If Mid(C,A,1)="H" Then // если нашли Write (DecToStr(A+1),13) // вывлевываем его в уарт End If Next
// Второй способ // ****************************** // любая символьная переменная представляет из себя // массив из символов(работаем с массивом) // комментировать не буду, и так все ясно I=Length(C) A=0 cycle: If C(A)="0" Then Write (DecToStr(A+1),13) End If Inc(A)
If A<= I Then GoTo cycle End If
// Вывод ASCII кодов строки I=Length(C) // узнаем длинну Write ("LEN=",DecToStr(I),13,13) // пишем ее в уарт For A=0 To I-1 // в цикле ищем нужный нам знак b=Mid(C,A,1) p=byte(b(0))
Write(dectostr(p),13) // вывлевываем его в уарт
Next
Write (13,"The end",13) loop: GoTo loop
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
vv |
Дата: Пт, 22.01.2010, 11:01 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Прикрутил к ПИКу 2550 экран от сименса СХ65 (контроллер epson l2f50, datasheet имеется на аналогичный). SPI программно. Столкнулся с проблемками: -как бы увеличить производительность ПИКа, ибо заливка экрана одним цветом (16-и битный) происходит около секунды((( (176*132*16 бит) - как бы получить код ASCII чтоб печатать на экранчике произвольно (вывести напряжение с АЦП к примеру - AdInAsVolt ) - может у меня не правильно осцилятор сконфигурирован?
|
|
|
|
DAlexV |
Дата: Пт, 22.01.2010, 11:21 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
С внутренним осцилятором толком не сталкивался, но когда писал статейку http://www.picbasic.ru/publ/lcd_nokia_3310_swordfish/1-1-0-24 столкнулся с той же проблемой. На 20 MHZ 452 пик еле еле тянул индикатор. А в шпротеус не загонял??? Время исполнения не мерил??? Попробуй, бывает находиться какая нибудь строка которая всю малину портит. Скинь ссылку на источник кода
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
vv |
Дата: Пт, 22.01.2010, 12:06 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Добавил оригинал,портировал с него, он на Сях и под атмегу, но думаю разница то какая? пробовал использовать аппаратный SPI , что то не получилось запустить... в шпротеусе с аппаратного какие то непонятные байты шли при инициализаци, которые не нужны дисплею. На выходных попробую добить аппаратный. и еще, блинки светодиода происходят п разному, т.е. пик запускается то с одной частотой. то с другой. может из за того что питание понижено до 3.3В?
|
|
|
|
DAlexV |
Дата: Пт, 22.01.2010, 12:20 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Есть в пиках регистр LPV называется(вроде) детектор пониженного напряжения. а не пробовал делитель 5->3 вольта поставить??? в статье он есть. Может запроста частота плавать из за снижения напряжения. Это целая ветка для обсуждения.Quote (vv) Прикрепления: L2F50_display4.rar меня не только архив интересен, но и url откуда скачал
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
vv |
Дата: Пт, 22.01.2010, 12:37 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Quote (DAlexV) меня не только архив интересен, но и url откуда скачал ноги растут отсюда - http://www.superkranz.de/christian/S65_Display/DisplaySoftware.html Питал схему от УСБ через ЖЕЛТЫЙ светодиод, на нем падает почти 2в - если кто повторять будет)))
|
|
|
|
DAlexV |
Дата: Пт, 22.01.2010, 12:54 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (vv) Питал схему от УСБ через ЖЕЛТЫЙ светодиод, на нем падает почти 2в Ну ясно. Переведи на 5 вольт согласно схеме Из неравномерной нагрузки могет скакать напряжение, со всеми вытекающими !!!!! И поставь обычный кварц на 20 м. герц. и выкинь лишние настройки по частоте. Это избавит от еще одной возможной проблемы(неправильная кварцовка) P/s На сайте языка задавали подобный вопрос по epson. Говорят что можно переправить S1D15G00 и все будет шикарно. У самого до таких дел руки не дошли
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
Сообщение отредактировал
DAlexV - Пт, 22.01.2010, 12:57
|
|
|
|
vv |
Дата: Пт, 22.01.2010, 23:15 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
перевел пик на 5 вольт и согласовал уровни сигналов - результат не улучшился. DAlexV, посоветуй пошустрей какой нить пик, может 30-33 серии, но чтоб можно было басиком программировать.
|
|
|
|
DAlexV |
Дата: Пт, 22.01.2010, 23:36 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (DAlexV) поставь обычный кварц на 20 м. герц. Поставил ??? Странно, тогда почему на меге с кварцом в 16MhZ проджект работает. Пошустрее 24 и 32 линейка есть, но там рулят С и HIHech от Микрочипа. Барсик на этих зверей не распространяется. Жаль у меня нет дисплея как у тебя, у самого на цветные руки чешутся. Завтра поеду на рынок, может прикуплю. На выходных попробую поковыряться в твоей проге. Может чего и наковыряю. Не вешать нос.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
holyuser |
Дата: Сб, 23.01.2010, 01:36 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
228
Замечания:
±
На сайте с 12.12.2007
Статус:
Offline
|
Quote (DAlexV) Барсик на этих зверей не распространяется. Распространяется, посмотрите здесь: http://www.picbasic.ru/load/microbasic_dlja_dspic_v500/3-1-0-141
|
|
|
|
DAlexV |
Дата: Сб, 23.01.2010, 11:10 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (holyuser) Распространяется, посмотрите здесь: А черт, за ностями не слежу. Ну абшибся !!!! Признаю.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
ivan_fd |
Дата: Вс, 24.01.2010, 14:27 | Сообщение # 14 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Quote (DAlexV) Странно, тогда почему на меге с кварцом в 16MhZ проджект работает Потому что производительность ATMEga 16 MIPS, а ПИКА 10. Цитата с МИКРОЧИПА: Quote Давно хотелось прикинуть скорости нелюбимых АВРок на флоате, да все как-то времени не хватало на эксперименты. На праздниках все-таки добрался. Постаквил AVR студию для симуляции, чтобы определить время выполнения и CodeVision для компиляции, выбрал в нем оптимизацию по скорости. Набрасал такой тестовый примерчик (MEGA16, частота 4 МГц) Код: Code float x, y, z1, z2; main { x = 4.0; y = 2.0; z1 = x*y; // 207 - циклов, 51.75 us z2 = x/y; // 700 - циклов, 175.0 us } Тоже самое скомпилировал HT PICC18 для PIC452 Код: Code float x, y, z1, z2; main { x = 4.0; y = 2.0; z1 = x*y; // 400 - циклов, 400 us z2 = x/y; // 684 - циклов, 684 us }
|
|
|
|
vv |
Дата: Вс, 24.01.2010, 19:43 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
132
Замечания:
±
На сайте с 13.11.2009
Статус:
Offline
|
Quote (ivan_fd) Потому что производительность ATMEga 16 MIPS, а ПИКА 10. С плавающей не используются переменные для вывода на экран... Может из-за того что пик "адаптирован" под Си? и после компиляции басиком смотришь асм - а там одни переходы)))
|
|
|
|