{"id":3197,"date":"2024-06-29T22:00:50","date_gmt":"2024-06-29T22:00:50","guid":{"rendered":"https:\/\/blog.rastersoft.com\/?p=3197"},"modified":"2024-06-29T22:34:33","modified_gmt":"2024-06-29T22:34:33","slug":"gpios-en-raspberry-pi-5","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=3197","title":{"rendered":"GPIOs en Raspberry Pi 5"},"content":{"rendered":"\n<p>Hace tiempo hice un programita para la Raspberry Pi 3 que utilizaba la <a href=\"https:\/\/abyz.me.uk\/lg\/lgpio.html\">biblioteca lg<\/a> para realizar E\/S desde C. Por desgracia, cuando intent\u00e9 hacerla funcionar en una Raspberry Pi 5, no funcion\u00f3. Tras muchas pruebas y buscar documentaci\u00f3n, descubr\u00ed que la clave estaba en la llamada de inicializaci\u00f3n a <a href=\"https:\/\/abyz.me.uk\/lg\/lgpio.html#lgGpiochipOpen\">lgGpioChipOpen()<\/a>: en una RPi 1, 2, 3 o 4, el valor que hay que pasarle es 0, para que abra \/dev\/gpiochip0, pero en una RPi 5 hay que pasar el valor 4.<\/p>\n\n\n\n<p>Un truco para saber program\u00e1ticamente en qu\u00e9 modelo estamos consiste en leer <em>\/sys\/firmware\/devicetree\/base\/model<\/em>. En mi Raspberry Pi 5 devuelve la cadena <em>Raspberry Pi 5 Model B Rev 1.0<\/em>. En una RPi 4 que tengo, devuelve <em>Raspberry Pi 4 Model B Rev 1.1<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace tiempo hice un programita para la Raspberry Pi 3 que utilizaba la biblioteca lg para realizar E\/S desde C. Por desgracia, cuando intent\u00e9 hacerla funcionar en una Raspberry Pi 5, no funcion\u00f3. Tras muchas pruebas y buscar documentaci\u00f3n, descubr\u00ed que la clave estaba en la llamada de inicializaci\u00f3n a lgGpioChipOpen(): en una RPi 1, &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=3197\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">GPIOs en Raspberry Pi 5<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,6],"tags":[],"class_list":["post-3197","post","type-post","status-publish","format-standard","hentry","category-cacharreo","category-trucos"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3197"}],"version-history":[{"count":2,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3197\/revisions"}],"predecessor-version":[{"id":3200,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3197\/revisions\/3200"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}