PROBLEMA [C][Python] Difficoltà a tradurre da C a Python

Pubblicità

carpicami

Nuovo Utente
Messaggi
2
Reazioni
0
Punteggio
2
Ciao, devo tradurre una parte di codice C in Python ma ho problemi con la memory map di Python per trattarla così come viene trattata in C.
Qualcuno può aiutarmi?
Il codice C è il seguente:
Codice:
#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <stdlib.h>
#include <time.h>
#define XADC_reg 0x43C00000
#define PID_reg 0x43C10000

int main(int argc, char **argv)
{
  int fd;
  

  uint32_t *pid;
  uint32_t *xadc;

  char *name = "/dev/mem";
  int active = 1;
  uint32_t data;
  uint32_t pos;
  uint32_t position;

  if((fd = open(name, O_RDWR)) < 0)
  {
    perror("open");
    return 1;
  }

  pid = mmap(NULL, sysconf(_SC_PAGESIZE), PROT_READ|PROT_WRITE, MAP_SHARED, fd, PID_reg);
 
  xadc = mmap(NULL, sysconf(_SC_PAGESIZE), PROT_READ|PROT_WRITE, MAP_SHARED, fd, XADC_reg);
  

  *((uint32_t *)(xadc + 0)) = 0x0000000A; //reset
 
 
  *((uint32_t *)(pid + 0)) = 0x00000000;    //punto da raggiungere
  *((uint32_t *)(pid + 1)) = 0x00000064;    //azione proporzionale
  *((uint32_t *)(pid + 2)) = 0x00000000;    //azione integrativa
  *((uint32_t *)(pid + 3)) = 0x00000000;     //azione derivativa
  *((uint32_t *)(pid + 5)) = 0x00000190;     //azione derivativa
 
Ultima modifica da un moderatore:
Benvenuta saremo lieti di aiutarti.
Ma tu ci devi dare una mano prima, leggi per favore le regole della sezione (post in rilievo), devi primo includere il codice usando gli appositi TAG e secondo devi postare quello che hai tentato di fare fino ad ora (non importa se sbagliato).
 
Per il tag CODE, ho modificato io il primo post, c'è da leggere questo.
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top