Autor Tema: Programateando #1. Mi tutorial básico para programar embebidos en C  (Leído 10258 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #15 en: 22 de Agosto de 2016, 10:31:37 »
Hola, una sugerencia, por que no realizar los tutos con una plataforma de desarrollo mas común y accesible por cualquiera, como son los Arduinos
Desde Colombia

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #16 en: 22 de Agosto de 2016, 11:48:46 »
Sobre Arduino hay mucho material en la red, sobre los Texas hay poco actualmente en el Foro.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #17 en: 22 de Agosto de 2016, 13:39:17 »
Hola, una sugerencia, por que no realizar los tutos con una plataforma de desarrollo mas común y accesible por cualquiera, como son los Arduinos

Estimado, mis disculpas por no contestar previamente.
Como decís, Arduino es mucho más accesible que los micros de Texas, por lo menos en Argentina seguro que lo es.
Y está en los planes portar el código a Arduino, pero uno de los motivos por el cual elegí esta plataforma es que el depurador ya viene integrado en la plaqueta, y el compilador y demás herramientas son gratuitas y abiertas.
Del lado de Arduino no hay un depurador abierto y accesible.
Del lado de los pics los compiladores solían tener limitaciones en cuanto a tamaño de código, o al menos faltos de optimizaciones, y si bien los pickit son accesibles para programar y depurar hay que comprarlos aparte.
Pero esto que digo respecto a pics y Arduinos quizás ya cambió, en su momento quería empezar a grabar algo y sinceramente, el launchpad msp430 era lo que tenía más a mano.
También estoy separando lo más posible lo que es manejo de hardware de la lógica para luego poder hacer el port más fácil.

Ayer termine de grabar clips para el Programateando #2 que estaré posteando cuando termine de editar, supongo que esta noche termino el 1er video. Esta vez es menos cantidad, como adelanto hablo del SASE 2016 que se hizo en Buenos Aires, repositorios (local y remoto), termino con los tests de la fifo (tenemos una versión de assert muy básica), y cerramos con una sesión de depuración.

Voy a hacer un tema aparte para no hacerlo 1 solo demasiado largo y que sea más fácil de comentar y discutir.

Gracias por el feedback!!!

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #18 en: 23 de Septiembre de 2016, 13:35:28 »
Va saliendo uno nuevo...
Da para charlar la fifo. ¿Qué tipos de datos usar? (1 solo tipo de dato, puntero a void?), ¿punteros o indices?, ¿como llevar la cuenta?. Todas cosas que omito haciéndome el tonto, porque sino no avanzamos más  :)

Una consulta, por que no usas los tipos uint16_t, int16_t etcetera? no se supone que son más portables?
Por el resto todo muy entretenido e interesante

saludos
-
Leonardo Garberoglio

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:Programateando #1. Mi tutorial básico para programar embebidos en C
« Respuesta #19 en: 23 de Septiembre de 2016, 23:57:47 »

Una consulta, por que no usas los tipos uint16_t, int16_t etcetera? no se supone que son más portables?
Por el resto todo muy entretenido e interesante

saludos

Sí... yo me pregunto lo mismo. Quizás no quería meter más conceptos nuevos en el video. Además de todas formas iba a usar unsigned int (que después lo cambié a char :p ) por la cuestión de que quería que el código fuera sencillo y rápido. Un micro de 16 bits tiene un unsigned de 16 bits, uno de 8 tiene de 8, similarmente arm de 32.
Pero si pongo uint16_t por ejemplo (el tipo "natural" para los msp430) eso un micro de 8 bits tiene que hacer 2 accesos de memoria para escribirlo, y uno de 32 si le pongo int16_t tiene que hacer extensión de signo y es más ineficiente.
Por eso con unsigned me evito extensiones de signo, y tamaño int hago que el micro use lo que más le convenga (en un pic serán 8 bits, en un msp430 16, y en un arm 32).

Al hablar de esos tipos quería extenderme a stdint.h en general,  también suelo usar los tipos _fast (uint_fast8_t, uint_fast16_t...) que por ejemplo para un micro de 16 bits un dato uint_fast8_t va a ocupar 16 bits, porque ese es el tamaño de registro que maneja más rápido (en un ciclo de acceso). Pero eso mismo para un pic sería de 8 bits.

Seguro voy a volver sobre eso cuando quiera hacer que la fifo trabaje sin un tipo de datos específico (quiero que maneje chars, strings, punteros, enteros...), que también quiero sacarle el campo .count para hacerlo thread-safe y en fin... ya vamos a llegar a eso :)
La Fifo va a volver a estar en escena, probablemente más de una vez.

Muchas gracias elgarbe por el feedback ;)