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

carpicami

Nuovo Utente
2
0
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:

Andretti60

Utente Èlite
6,440
5,091
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).
 
  • Mi piace
Reazioni: Mursey

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,191
5,631
Per il tag CODE, ho modificato io il primo post, c'è da leggere questo.
 
Ultima modifica:
  • Mi piace
Reazioni: sghe23

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!