artos5

Stm32F100 + Hd44780 = Глюк Библиотеки

45 сообщений в этой теме

ZERRO_    1

stm32f103cbt6, шина вроде та

и у меня дисплей wh1202

Попробовал по прежнему чисто(

Изменено пользователем ZERRO_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290

А осциллографом щупали ножки МК? Может импульсов вообще нету? Может ошибка в подключении? Очень часто бывает банальная ошибка в подключении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ZERRO_    1

У меня нету осциллографа, подключение проверял раз 100, но тем не менее все может быть) Спасибо за помощь, продолжу завтра с новыми силами, надо победить этот дисплей :yes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290

Я его побеждал целый день. В процессе думал дисплей разобью :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ZERRO_    1

Победа))) Все заработало даже без изменения таймингов. Причиной были ножки PB3 и PB4 подключил на PB6 и PB7 и все сразу заработало. Почему они не работали не знаю, так вроде звонятся, обрыва нет. Что интересно с самого начала менял все ножки кроме PB3 и PB4)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290

Поздравляю! :) Библиотеку мою используете ? Или свою?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290

Победа))) Все заработало даже без изменения таймингов. Причиной были ножки PB3 и PB4 подключил на PB6 и PB7 и все сразу заработало. Почему они не работали не знаю, так вроде звонятся, обрыва нет. Что интересно с самого начала менял все ножки кроме PB3 и PB4)

Вы представляете? У меня тоже РВ3 не работает! Точно также попался в эту ловушку....... проверил осциллографом все ноги , и определил что на РВ3 - тишина... решил зайти на форум в эту ветку и посмотреть какие ноги у вас не работали. В глубине души был уверен что у вас те же ноги не работают :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sanechka    0

Вы представляете? У меня тоже РВ3 не работает! Точно также попался в эту ловушку....... проверил осциллографом все ноги , и определил что на РВ3 - тишина... решил зайти на форум в эту ветку и посмотреть какие ноги у вас не работали.

Эти ноги используются под JTAG и SWD.... Но можно отключить их и перенастроить на обычные входы-выходы. В реф мануале написано как это сделать. решаеться установкой одного бита.

Вот список ног которые еще не будут работать:

post-182793-0-70165800-1406346005_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
optima    216

Тоже наступал на эти грабли РВ3 после сброса настроен как JTDIO чтобы изменить надо установить биты SWJ_CFG[2:0] регистра AFIO_MAPR это описано в RM0008 раздел 9,3,5

Лекарство такое GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290

Вы представляете? У меня тоже РВ3 не работает! Точно также попался в эту ловушку....... проверил осциллографом все ноги , и определил что на РВ3 - тишина... решил зайти на форум в эту ветку и посмотреть какие ноги у вас не работали.

Эти ноги используются под JTAG и SWD.... Но можно отключить их и перенастроить на обычные входы-выходы. В реф мануале написано как это сделать. решаеться установкой одного бита.

Вот список ног которые еще не будут работать:

Полезнейшая информация!!! Спасибо ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sanechka    0

Я 7 сегментник подключал и столкнулся впервые с этим, думал пины спалил) А оказывается надо рефман повнимательней читать!!! Для разных серий контроллеров такие пины могут быть разными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
misterflud    0
В 11.07.2014 в 13:41, artos5 сказал:

Поздравляю! :) Библиотеку мою используете ? Или свою?

Добрый день. Мне очень важно запустить дисплей с мк, поэтому пишу даже в такую старую тему. Выскакивает ошибка :
       [cc] +0x0): multiple definition of `lcd_set_user_char'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_set_user_char+0x0): first defined here
       [cc] collect2.exe: error: ld returned 1 exit status

Как возможно поправить? Не компилируется..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
misterflud    0

GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\5.4 2016q3\bin
compile:
    [mkdir] Skipping C:\microcontrollers\IDEAS\CoIDE\workspace\2\2\Debug\bin because it already exists.
    [mkdir] Skipping C:\microcontrollers\IDEAS\CoIDE\workspace\2\2\Debug\obj because it already exists.
       [cc] Starting dependency analysis for 7 files.
       [cc] Parsing ..\..\..\cmsis_boot\startup\startup_stm32f10x_md_vl.c
       [cc] Parsing ..\..\..\cmsis_boot\system_stm32f10x.c
       [cc] Parsing ..\..\..\cmsis_boot\stm32f10x.h
       [cc] Parsing ..\..\..\cmsis\core_cm3.h
       [cc] Parsing ..\..\..\cmsis_boot\system_stm32f10x.h
       [cc] Parsing ..\..\..\cmsis_boot\stm32f10x_conf.h
       [cc] Parsing ..\..\..\cmsis\core_cmInstr.h
       [cc] Parsing ..\..\..\cmsis\core_cmFunc.h
       [cc] Parsing D:\microcontrollers\без I2C\project\forumcxemnet\2\hd44780_driver.c
       [cc] Parsing ..\..\..\hd44780.h
       [cc] Parsing ..\..\..\stm_lib\inc\stm32f10x_gpio.h
       [cc] Parsing ..\..\..\stm_lib\inc\stm32f10x_rcc.h
       [cc] Parsing ..\..\..\stm_lib\src\stm32f10x_gpio.c
       [cc] Parsing ..\..\..\main.c
       [cc] Parsing ..\..\..\hd44780_driver.h
       [cc] Parsing ..\..\..\stm_lib\src\stm32f10x_rcc.c
       [cc] Parsing ..\..\..\hd44780.c
       [cc] 7 files are up to date.
       [cc] 0 files to be recompiled from dependency analysis.
       [cc] 0 total files to be compiled.
       [cc] Starting link
       [cc] arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -g -nostartfiles -Wl,-Map=2.map -O0 -Wl,--gc-sections -LC:\microcontrollers\IDEAS\CoIDE\configuration\ProgramData\2 -Wl,-TC:\microcontrollers\IDEAS\CoIDE\configuration\ProgramData\2/arm-gcc-link.ld -g -o 2.elf ..\obj\startup_stm32f10x_md_vl.o ..\obj\system_stm32f10x.o ..\obj\hd44780_driver.o ..\obj\stm32f10x_gpio.o ..\obj\main.o ..\obj\stm32f10x_rcc.o ..\obj\hd44780.o -L..\..\.. -lm -lgcc -lc -lrdimon
      

 

[cc] ..\obj\hd44780.o:(.bss+0x0): multiple definition of `data_port'
       [cc] ..\obj\hd44780_driver.o:(.bss+0x0): first defined here
       [cc] ..\obj\hd44780.o: In function `pause':
       [cc] hd44780.c:(.text.pause+0x0): multiple definition of `pause'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.pause+0x0): first defined here
       [cc] ..\obj\hd44780.o: In function `lcd_puls':
       [cc] hd44780.c:(.text.lcd_puls+0x0): multiple definition of `lcd_puls'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_puls+0x0): first defined here
       [cc] hd44780.c:(.text.lcd_com+0x0): multiple definition of `lcd_com'
       [cc] ..\obj\hd44780.o: In function `lcd_com':
       [cc] ..\obj\hd44780.o: In function `lcd_dat':
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_com+0x0): first defined here
       [cc] hd44780.c:(.text.lcd_dat+0x0): multiple definition of `lcd_dat'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_dat+0x0): first defined here
       [cc] hd44780.c:(.text.lcd_xy+0x0): multiple definition of `lcd_xy'
       [cc] ..\obj\hd44780.o: In function `lcd_xy':
       [cc] ..\obj\hd44780.o: In function `lcd_init':
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_xy+0x0): first defined here
       [cc] hd44780.c:(.text.lcd_init+0x0): multiple definition of `lcd_init'
       [cc] ..\obj\hd44780.o: In function `kursor_set':
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_init+0x0): first defined here
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.kursor_set+0x0): first defined here
       [cc] hd44780.c:(.text.kursor_set+0x0): multiple definition of `kursor_set'
       [cc] ..\obj\hd44780.o: In function `lcd_clear':
       [cc] hd44780.c:(.text.lcd_clear+0x0): multiple definition of `lcd_clear'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_clear+0x0): first defined here
       [cc] ..\obj\hd44780.o: In function `lcd_out':
       [cc] hd44780.c:(.text.lcd_out+0x0): multiple definition of `lcd_out'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_out+0x0): first defined here
       [cc] ..\obj\hd44780.o: In function `lcd_set_user_char':
       [cc] hd44780.c:(.text.lcd_set_user_char+0x0): multiple definition of `lcd_set_user_char'
       [cc] ..\obj\hd44780_driver.o:hd44780_driver.c:(.text.lcd_set_user_char+0x0): first defined here
       [cc] 
       [cc] collect2.exe: error: ld returned 1 exit status

 

 

 

 Вот все что пишет компилятор

Изменено пользователем misterflud

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
elki    78

Какой компилятор? Где код? Экстрасенсов тут нет.

Если тупо пихать ему код написанный под другую IDE копипаст он и не заработает. Судя по всему используете кокоса. А библиотеку не подключили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290
4 часа назад, misterflud сказал:

Добрый день. Мне очень важно запустить дисплей с мк, поэтому пишу даже в такую старую тему. Выскакивает ошибка :
       [cc] +0x0): multiple definition of `lcd_set_user_char'

Как возможно поправить? Не компилируется..

Ищите где у вас несколько раз объявляется это:

lcd_set_user_char

 

Когда найдете и устраните , скорее всего новая ошибка вылезет . И так пока все ошибки не уберете .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
misterflud    0
В 15.09.2017 в 22:24, elki сказал:

Какой компилятор? Где код? Экстрасенсов тут нет.

Если тупо пихать ему код написанный под другую IDE копипаст он и не заработает. Судя по всему используете кокоса. А библиотеку не подключили.

Да код тот же что у автора поста.  IDE тут явно не при чем -- влияет компилятор на ошибки. 

"А библиотеку не подключили." -- я все сделал как у автора.

В 15.09.2017 в 22:38, artos5 сказал:

Ищите где у вас несколько раз объявляется это:

lcd_set_user_char

 

Когда найдете и устраните , скорее всего новая ошибка вылезет . И так пока все ошибки не уберете .

 

А чем вы пользовались при запуске -- какой компилятор итд?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 407

никакой компилятор там не влияет. Просто колхоз в пространстве имен. Автору вопроса надо язык подковать. А то писать взялся, а книжку забыл почитать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
misterflud    0

использовал первую библиотеку artos5, поставил такие же порты -- при инициализации просто выводит чёрные квадраты в 2 строки...

А дисплей питаете от 5.5 или от 3??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • У мну такой был.     Был относительно неплох.
    • Жадные и глупые барыги из ларьков успешно окучивали нехилую такую массу владельцев кассетников 3-4 класса. И не бедствовали абсолютно. Эт совсем не пересекающиеся группы. На моей памяти, качество на кассету хотели человек 5 -10 от силы. Для таких клиентов  специальный аппарат держали. Со сквозным трактом.  Прочие потребляли контент, прописанный на Яузах. При любом радиозаводе такое было. У нас в городе пара заводов, потому по домам Оды, Элегии, Электроны, автоприёмники "штамповали".
    • Я так и предполагал - мафон собирают какие-то дети из всякого хлама. Но в глубине души (очень-очень глубоко) всё же надеялся - а вдруг повезёт! ...не повезло. 
    • картинко с АЦП не имеет никакого отношения к подключению диф.усилителя и/или диф.источника сигнала. не было озвучено вил датчиков, ну по жуткому желанию применить диф.усилитель предположу что оный является тензометрический  мост. на 70 метров оный подключается по 6-проводной схеме + экран. никаких резисторов при подключении выхода диф.усилителя к  диф.входу АЦП наненать. а вот обеспечить правильный замер напряжения питания моста и заземления надо.
    • новый винил приходил в город только проверенным, у кого аппаратура "приемку" проходила и уверенность была, что левака (и по качеству, и на лево) не напишет и диск не запорет.
      вот у таких стоило брать записи. правда подороже они конечно были, но зато соответствовали и качеству и времени. в студиях это же появлялось позже.
      (чтобы не путать позже с засильем жадных и глупых барыг из ларьков, что как раз и отучили народ и от музыки, и от качества, это было в 85 году).