Hallo,
hat jemand Tanks PiSerial driver schonmal probiert aus
C heraus anzusprechen?
Rick's b.log - entry 2014/06/20: Zitat::
Therefore, start up the module, then do this in your program (or the
equivalent in your preferred language) before you want to send data:
SYS "PiSerial_ResetUART"
SYS "PiSerial_Speed",,115200
SYS "PiSerial_Format",,%10000This will reset the serial port, then
specify 8N1 at 115.2kbps. These ought to be the defaults, but we'll
say it just to be sure.
Then, sending data is a matter of doing the following (assuming
buffer% has been DIM'd somewhere prior):
$buffer% = "This is a test!"+CHR$(13)+CHR$(10)
SYS "PiSerial_TX",,buffer%,LEN($buffer%)+2
Ich habe mir dann die Nummern der SWIs der Module besorgt, um
die dann direkt per Nummer aus C aus aufzurufen.
DIM text% 100
$text% = "PiSerial_TX"+CHR$(0)
SYS"OS_SWINumberFromString",,text% TO number%
PRINT number%
_kernel_oserror *error;
_kernel_swi_regs regs;
//regs.r[0] = (int) 310;
//regs.r[1] = (int) 0x4b534154;
//regs.r[2] = (int) "Wimp Task";
//regs.r[3] = (int) 0;
//error = _kernel_swi(Wimp_Initialise, ®s, ®s);
regs.r[0] = (int) 0;
regs.r[1] = (int) 0;
regs.r[2] = (int) 0;
regs.r[3] = (int) 0;
error = _kernel_swi(365502, ®s, ®s); //PiSerial_ResetUART
regs.r[0] = (int) 0;
regs.r[1] = (int) 0;
regs.r[2] = (int) 115200;
regs.r[3] = (int) 0;
error = _kernel_swi(365568, ®s, ®s); //PiSerial_Speed
regs.r[0] = (int) 0;
regs.r[1] = (int) 0;
regs.r[2] = (int) 16;//%10000 8N1
regs.r[3] = (int) 0;
error = _kernel_swi(365569, ®s, ®s); //PiSerial_Format
regs.r[0] = (int) 0;
regs.r[1] = (int) 0;
regs.r[2] = (int) "Hallo Welt ";
regs.r[3] = (int) 5;
error = _kernel_swi(365571, ®s, ®s); //PiSerial_TX
Es compiliert, führt aber zu einem total Absturz, wenn man es
ausführt.
Natürlich würde ich es schoen finden, wenn man auch aus C heraus
die seriellen Pins vom Pi aus ansprechen koennte, war die Idee
es so zu probieren richtig, oder habe ich etwas falsch gemacht, bzw.
geht es überhaupt?
Für Kommentare wäre ich dankbar, Gruesse
Joerg
--
Joerg Niggemeyer on RISCOS Raspberry Pi