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



Teraz jest 23 lut 2025, o 16:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 11 paź 2013, o 17:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

Napisałem sobie program do obsługi flasha, all działa jak sie nalezy, ale jak wiadomo nie każdy ma kryształowe kule, a może chciec pomóc, więc wrzucam all.

A więc:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


flash.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


flash.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i spi.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


spi.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Kod jest działajacy więc ktoś może sobie z nim się pobwić mając tą pamięć. Ale ważne pytanie, dlaczego jak wykorzystam sprintf i sobie zapisze liczbe 123 jako 1 bajt na 1, 1 bajt na 2 i 1 bajt na 3 to działa. A jak chce sobie zmieścić w jednym bajcie liczbe 123, bo jak wiadomo mieści sie ona w unsigned char = <0,255>, to mam lipe krzak - żeby nie było bez liści. I interesuje mnie jak wykorzystując 1 bajt zapisac liczbę z przedziału <0,255>, bo po co marnowac aż 3,2 lub 1 bajt.

_________________
sig off ;(



Ostatnio edytowano 12 paź 2013, o 09:17 przez Paul Dirac, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: AT45DB01
PostNapisane: 11 paź 2013, o 17:41 
Offline
Użytkownik

Dołączył(a): 27 wrz 2013
Posty: 30
Pomógł: 1

Nie bardzo wiem jakiego rodzaju krzak lipy tam masz, ale chyba Twój problem polega na nierozumieniu różnicy między ciągiem znaków "123" a liczbą 123.

Żeby zapisać liczbę 3-cyfrową w postaci tekstowej/znakowej trzeba użyć 3 bajtów. Te znaki będą zawierać kody ASCII znaków poszczególnych cyfr (mogą tam też być kody liter).

Natomiast unsigned char który mieści 8 bitów, czyli przedział <0,255> to surowa liczba. Jeżeli wyślesz liczbę unsigned char 123 na wyświetlacz czy na UART to zobaczysz znak ASCII o kodzie 123 (taki nawias: "{"). Poczytaj o tablicy ASCII.

Inaczej mówiąc - jeżeli chcesz na wyświetlaczu/terminalu wyświetlić liczbę - musisz przekonwertować ją na tekst (w C będzie to najczęściej tablica znaków o z góry określonej długości). Dlatego do wyświetlenia lub wysłania na terminal liczby 3 cyfrowej musisz użyć 3 bajtów.

Rozumiesz?



Ostatnio edytowano 11 paź 2013, o 17:45 przez kaamil, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2013, o 17:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

Działa:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jednak miałeś racje źle było w printf, brak '*'. Thx za pomoc, mam teraz wartosc binarna znaku ASCII, który jest moja liczbą z zakresu <0,255>, a przez uarta to juz działam z binarka, więc bedzie gites.

_________________
sig off ;(



Ostatnio edytowano 11 paź 2013, o 17:55 przez Paul Dirac, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2013, o 06:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 sie 2013
Posty: 199
Pomógł: 1

od kiedy w include podaje sie bezwzgl. sciezke ?
Kod:
#include "C:/PSM/flash_tefelski/LCD/lcd.h"


troche to nie eleganckie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2013, o 09:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

No okey masz racje, zmienie to na:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nie wiem, gdzieś widziałem jak mirek dawał coś takiego w bibliotekach
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale mi to nie działało.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2013, o 09:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Bo ../ wychodzily o katalog w gore od pliku projektu i dopiero wchodzilo w katalog lcd

Wysłane z Tapatalk2 [url='http://tapatalk.com/m?id=10']now Free[/url]

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2013, o 09:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Jezeli u ciebie katalog lcd jest w projekcie to dajesz bez ../ czyli nie wychodzisz z katalogu a odrazu wchodzisz do lcd

Wysłane z Tapatalk2 [url='http://tapatalk.com/m?id=10']now Free[/url]

_________________
Usługi druku przestrzennego - www.drumik.pl



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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