Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 lis 2024, o 12:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 15 mar 2021, o 23:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sie 2015
Posty: 205
Lokalizacja: UK
Pomógł: 10

Zobacz sobie do noty jak wygląda rozdział o I2C (TWI). Masz tam nawet przykład kodu w języku C (zdjęcie poniżej) jeżeli chcesz się upewnić czy dobrze ustawiasz bity w opisanych tam rejestrach.
Musisz dostosować ustawienia komunikacji do modułu, z którym się komunikujesz. Dotyczy to również jego adresu w magistrali. Sama nota opisuje dosyć dobrze budowę ramki. Warto również poczytać w internecie o samym standardzie. Jeżeli masz bluebooka to wydaje mi się, że w nim też był jakiś przykład (bodajże oparty na komunikacji z zewnętrznym układem RTC o ile mnie pamięć nie myli).

Obrazek

------------------------ [ Dodano po: 2 minutach ]

Przy okazji, patrząc na twój kod, należałoby pozbyć się częstotliwości taktowania uC z definicji preprocesora. Jeżeli faktycznie jesteś początkujący to polecałbym zacząć od początku (chociażby od wcześniej wspomnianego przeze mnie bluebooka).

_________________
MMT Technologies



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 mar 2021, o 23:46 
Offline
Nowy

Dołączył(a): 14 mar 2019
Posty: 1
Pomógł: 0

tak w dużym skrócie

1. musisz mieć biblioteki do obsługi LCD i I2C i je zainkludować do programu

#include "LCD/lcd44780.h"
#include "I2C_TWI/i2c_twi.h"

nie zapominając o zaadresowaniu expandera w bibliotece lcd


2. zrobić inicjację

i2cSetBitrate(100);
lcd_init();

3. potem możesz już użyć

lcd_str("start...");

itp. itd.

a najlepiej zacznij od bb



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 07:23 
Offline
Użytkownik

Dołączył(a): 01 mar 2021
Posty: 28
Pomógł: 2

Ttt



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 08:21 
Offline
Użytkownik

Dołączył(a): 18 lut 2015
Posty: 164
Lokalizacja: Koszalin
Pomógł: 16

Witaj!
Bardzo dużo praktycznych informacji jak zacząć znajdziesz na kanale Atnel - mirekk36.
Tam jest mnóstwo filmów i jeślibyś tylko obejrzał większość z nich to nauczysz się programowania w C.
Nie wiem w czym pracujesz na GNU/Linux ale ja (Fedora/Debian) pracuję w Eclipse i również na tym samym kanale YT masz mnóstwo informacji jak pisać, kompilować i działać w tym środowisku polecam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 19:50 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Nie zdaje to egzaminu bo to po prostu tak nie działa...
Programowanie wieloplatformowe w C++ i programowanie mikrokontrolerów
to niestety inna bajka.
Jeśli chcesz to ogarnąć to musisz się troszkę poduczyć.

Powodzenia

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1029
Lokalizacja: Trójmiasto
Pomógł: 189

Przede wszystkim to powinieneś zacząć od tego jaki to wyświetlacz, bo na razie to można tylko powróżyć z tekstu jaki wypisałeś.
Druga sprawa to obojętnie jaki to nie będzie wyświetlacz, jeśli jest podłączany na magistralę TWI (czy jak kto woli I2C) to tu masz 2 rzeczy do ogarnięcia:
1 - to obsługa magistrali - i to powiedzmy w jakimś tam stopniu masz ogarnięte (choć nie do końca bo w Twoich funkcjach brakuje adresowania urządzenia - na magistrali I2C może pracować kilka urządzeń, ale nawet jak jest jedno to i tak ma ono swój adres i podczas wysyłki musisz je najpierw zaadresować inaczej będzie ignorować nadchodzące dane).
2 - protokół komunikacyjny wyświetlacza - i tu nie masz nic. Wyświetlacz ma swój zestaw komend które nim sterują. Samo wysłanie kodu znaku nie spowoduje że on go wyświetli. Przede wszystkim wyświetlacz trzeba zainicjalizować (czyli wysłać zestaw komend które go przygotują do pracy) dopiero wówczas można coś na nim będzie wyświetlić... i to nie koniec bo pisząc "coś wyświetlić" niekoniecznie musi być to znak, bo np. jak to wyświetlacz graficzny typu dotmatrix to możesz sobie co najwyżej wyświetlić pixel. Aby wyświetlić znak musisz stworzyć tablicę znaków złożonych z pixeli, i dopiero wówczas możesz myśleć o wyświetleniu znaku. Ale tak jak pisałem wcześniej, wszystko zależy od tego co to za wyświetlacz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 20:51 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

A w opisie Twojego wyświetlacza jest napisane, że konwerter oparty jest na PCF8574.
No to teraz nota PDF i trzeba poczytać jak jest on sterowany. Jak szybka może być magistrala
jaki jest adres układu...
Potem trzeba zapoznać się ze sterowaniem wyświetlaczem opartym na sterowniku kompatybilnym\
z HD44780...
Trochę tego jest na początek

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 mar 2021, o 21:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1029
Lokalizacja: Trójmiasto
Pomógł: 189

Ok, to problem tablicy znaków masz z głowy, bo kontroler tego wyświetlacza ma taką wbudowaną.
Ten konwerter LCM1602 ma 3 zworki A0, A1, A2 którymi ustalasz jaki adres będzie miał ów moduł na magistrali I2C (musisz zajrzeć do noty pdf od scalaka który siedzi na module czyli PCF8574 i dobrze rozpoznać jaka jest korelacja pomiędzy tymi zworkami a pełnym adresem)
Ale to dopiero początek drogi. Potrzebujesz bibliotekę do wyświetlacza czyli zestaw funkcji które zainicjują wyświetlacz, funkcje służące do wysyłki znaków, ustawiania kursora na odpowiedniej pozycji itd itp; i to biblioteki która będzie dostosowana do komunikacji po I2C, bo ten wyświetlacz domyślnie komunikuje się po interfejsie równoległym.
Bibliotekę możesz albo napisać sam, albo poszukać w necie, ewentualnie przeportować z bibliotek arduino...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2021, o 11:40 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 546
Pomógł: 27

Cytuj:
To chyba jednak jeszcze nie na moje możliwości...
Zmuszony jestem wsadzić wyświetlacz do szuflady na jakiś czas i pobawić się wyświetlaczem led.


Myślę że za szybko się poddajesz jest jeszcze jedna dużo łatwiejsza droga, ale za to wymaga więcej zaangażowania. Kup Bluebooka tam masz wszystko opisane co i jak, i są nawet gotowe biblioteki ogromna pomoc na start.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2021, o 17:50 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2583
Pomógł: 128

Jeżeli temat uC Ciebie wciągnie to gorąco polecam zestaw ATB od Mirka. Sam mam ich kilka i używam ich do deweloperki z różnymi producentami procków :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO