mplab C30 printf

andrej jancura hw_aj@zoznam.sk
Úterý Duben 1 15:08:08 CEST 2008


Ahoj,

s mplab C30 nerobim, aj ked sa na to chystam. Ale ja osobne by som to riesil
funkciou sprintf do RAM a z RAM by som si to poslal vlastnou rutinou na
display alebo seriovy port. Osobne tipujem na chybu v tomto riadku:

putch(*(char*)buffer);

Preco si to nenapises normalne cez Buffer[], a neprepises to potom na
adresy?! Ved tej funkcii putch() je jedno, co jej posielas, ci adresu prvku
pola alebo to iste cez pomocny pointer...

Ak to nevyriesis do vecera, pozriem sa do svojich zdrojakov... A poslem ti
to vecer.

A.


> Zdravim,
> nejako sa mi nedari spojazdnit vypis na displej cez standardny printf v 
> C30 kompilatore od microchipu. Malo by to byt jednoduche - nahradit 
> funkciu write() svojou vlastnou. Ta moja vyzera takto (je podla 
> odporucania supportu):
> 
> int write(int handle, void *buffer, unsigned int len)
> {
>   unsigned int i;
>   i = len;
>   while(i) {
>     putch(*(char*)buffer);
>     buffer++;
>     i--;
>   }
>   return(len);
> }
> 
> Problem je, ze z vypisovaneho retazca sa zobrazi len jeden znak, Teda 
> namiesto "Test" mam len "T". Ked debugujem, retazec vstupujuci do 
> funkcie write ma naozaj dlzku len 1 znak a aj ked ho najdem v pamati, je 
> tam len to T. Netusite niekto, kde moze byt problem?
> 
> j.
> **
> _______________________________________________
> HW-list mailing list	-  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list