簡體   English   中英

如何在帶有Verix OS的Verifone設備上的ARM應用程序上使用read()函數或類似功能

[英]How to use a read() function or similars on ARM application to Verifone Device with Verix OS

我正在嘗試將我的第一個代碼添加到Verifone設備。 該設備具有Verix OS和Arm Processor。 我遵循的是“操作系統編程工具參考手冊”,其代碼運行良好:

#include <string.h>
#include <svc.h>
char Greeting[] = "Hello!";
void main (void)
{
    int display = open(DEV_CONSOLE, O_WRONLY);
    write(display, Greeting, strlen(Greeting));
    normal_tone();
    close(display);
}

但是,我的代碼無法正常運行。 為什么? 可以編譯此版本和其他版本,但是按鍵盤輸入不起作用。

#include <string.h>
#include <svc.h>
#include <stdio.h>
int main (void)
{
    int display = open(DEV_CONSOLE, O_RDWR);
    char result[30];
    char ent[2]="\0\0";
    write(display, "\nEnter a number: ", 17);
    read(display, ent, 1);
    sprintf(result,"\nPressed key: %s", ent);
    write(display, result, strlen(result));
    normal_tone();
    close(display);
    return 0;
}

我已經嘗試過scanf(),fscanf(),getchar(),fgetc(),fgets()...總是發生類似的事情。 Write()和類似方法有時有時無法工作,這取決於與read(),Scanf()的組合...但是read()函數和類似方法在我的Verifone設備上從未起作用。

int display = open(DEV_CONSOLE, O_WRONLY);

O_WRONLY表示只寫 嘗試改用O_RDWR

int display = open(DEV_CONSOLE, O_RDWR);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM