TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: Nocturno en 02 de Enero de 2014, 09:03:45
-
Me he apuntado al curso Embedded Systems - Shape The World (https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172) y he comprado la placa de desarrollo de TI Tiva C Series Launchpad (http://www.ti.com/tool/ek-tm4c123gxl). De hecho acabo de recibirla y pronto espero ir comentando mis progresos en esta tecnología con la que tanta envidia me habéis dado hasta ahora.
(http://www.ti.com/diagrams/med_ek-tm4c123gxl_tivalp_angle_new.jpg)
-
Bienvenido Manolo a este gran mundo!!!!
Si bien no hago muchos proyectos con ARM, juego bastante con ellos. Si vas por los de gama "baja" (cortex M0, M3, etc) vas a poder notar lo fácil que es programar, la calidad de la informacion, el detalle de los user manual de los micros, etc. Es algo para enamorarse!!!
Sabes si TI entrega muestras grátis para testeo de sus micros?
Saludos!
-
Hola Nocturno, yo tambien me inscribi en ese curso, de hecho lo postee hace unos dias en el foro.
No se si alguien mas del foro este inscrito para crear un tema y poder discutir sobre el mismo
-
Hola Nocturno, yo tambien me inscribi en ese curso, de hecho lo postee hace unos dias en el foro.
No se si alguien mas del foro este inscrito para crear un tema y poder discutir sobre el mismo
Yo tmb estoy inscripto...
sds
-
Sabes si TI entrega muestras grátis para testeo de sus micros?
Saludos!
TI si envia muestras de varios de sus productos, aunque en espcifico sobre los del curso no lo he revisado
-
Felicitaciones Manolo!
Bienvenido al próximo nivel :D
Tengo una Launchpad altamente similar a la tuya que compré a fines del 2012 cuando estaban en lanzamiento...
Saludos!!!
-
Yo también me inscribí hace un par de días, a ver si este curso me lo dejan terminar.....
-
Bienvenido Manolo a este gran mundo!!!!
Si bien no hago muchos proyectos con ARM, juego bastante con ellos. Si vas por los de gama "baja" (cortex M0, M3, etc) vas a poder notar lo fácil que es programar, la calidad de la informacion, el detalle de los user manual de los micros, etc. Es algo para enamorarse!!!
Sabes si TI entrega muestras grátis para testeo de sus micros?
Saludos!
Bueno, a mí me ha costado sólo 12.99$, lo cual es prácticamente el coste de los portes, por lo que la placa la están regalando.
-
Inscriptoooo....
Usan Keil para la programación, se podrá usar Code Composer Studio? no voy a tener las dll para verificar los prácticos, pero supongo que después será los mismo usar uno u otro?
-
No hay tarjetas para entrega inmediata en mouser ni newark :5]
Se inscribieron al Certificate of Achievement o tomaron el otro ?
¿Cual es la diferencia entre las dos tarjetas de desarrollo ? aparte de del uC.
Saludos!
-
Supongo que dependerá del país, pero se pueden comprar directamente dese la página de Texas Instruments.
-
Yo la he comprado en la tienda de TI. Había un sitio con la relación de diferencias entre ambas placas pero lo estoy buscando de nuevo y no lo encuentro. No sólo es el micro, hay más cosas que cambian.
Además, la primera está descatalogada; te recomiendo que compres la Tiva.
No me he apuntado al Certificate of Achievement; no necesito la acreditación.
-
No hay tarjetas para entrega inmediata en mouser ni newark :5]
Se inscribieron al Certificate of Achievement o tomaron el otro ?
¿Cual es la diferencia entre las dos tarjetas de desarrollo ? aparte de del uC.
Saludos!
Yo compré la tarjeta directamente en TI, en el link que puso Nocturno, aunque dice que tardarán 1 o 2 semanas en enviarlo.
Que es lo del Certificate of Achievement, solo me inscribí al curso, pero no se cual sea la diferencia :oops:
-
Parece que es un sistema que han implementado que les permite certificar que quien hace el curso es realmente la persona registrada; según parece se necesita una webcam así que imagino que irán tomando fotos del estudiante durante distintos momentos del curso.
-
:shock: nos espian.
Gracias por la aclaración nocturno
Por lo que veo el curso cuesta 50 dlls con esa certificación, mejor me quedo con el certificado normal que te dan si pasas el curso :mrgreen:
-
Gracias por responder!
Ya compre la TIVA C en la pagina de TI , pedí 2 y dice que las estarán enviando dentro de 2 semanas.
Salio más barato con ellos , $26 dolares por 2 tarjetas y gastos de envió incluidos.
Nos vemos en el curso 8)
-
Me acabo de inscribir al curso! Creo que es un buen momento para empezar... Espero me llegue la placaa
Saludos!
Carlos
-
menudo vichito . a luchar ;-)
-
Gracias por responder!
Ya compre la TIVA C en la pagina de TI , pedí 2 y dice que las estarán enviando dentro de 2 semanas.
Salio más barato con ellos , $26 dolares por 2 tarjetas y gastos de envió incluidos.
Nos vemos en el curso 8)
:-/ :-/. lo malo es que tardan 2 semanas en eviar, pero lo bueno de texas es que los gastos de envio no los cobran :-) :-)
-
hola señores, quería preguntar si es posible realizar el curso teniendo la board launchpad stellaris LM4F120. Aunque la estoy utilizando con el Energia IDE (algo similar a arduino). Gracias y buen día.
-
La semana pasada empece con estos bichos por el momento tengo el Stellaris funcionando con una TFT con bus de 16bits y un HC-SR04 para medir el nivel de agua en un tanque, la TFT con gráficas primitivas del tanque y texto en centímetros el fin de semana talvez le active el touch controller SPI
No sabia del curso :shock: pero ya estoy inscrito 8) aunque programe todo en Code Composer Studio, conocer otro no estaria de mas xD
EDIT: Casi de ultimo dice
You will need to purchase either the EK-LM4F120XL or the EK-TM4C123GXL board from Texas Instruments and a set of electronic components. The cost for these parts is about $40 USD plus shipping. We will provide instructions at: http://users.ece.utexas.edu/~valvano/edX.
Creo que si se puede usar la tarjeta que tienes, es la que Yo tengo
-
Me acaba de llegar la placa. No ha llegado a tardar una semana.
Eso sí, en una caja de cartón como para meter un edificio de 8 plantas. Que bestias estos de TI.
-
Me acaba de llegar la placa. No ha llegado a tardar una semana.
Eso sí, en una caja de cartón como para meter un edificio de 8 plantas. Que bestias estos de TI.
Cuanto tardo desde que pediste la placa hasta que te llegara?
Sismpre envian asi sus muestras, es como abrir una caja de regalo enorme para que dentro encuentres muuuucho papel y un regalito :mrgreen: :mrgreen:
-
La pedí el día 31.
Creí que había sido más tarde, pero bueno, 9 días no está mal.
-
el mio ya viene en camino, según la orden de rastreo me entregan mañana :-/ :-/ :-/ :-/ :-/
-
el mio ya viene en camino, según la orden de rastreo me entregan mañana :-/ :-/ :-/ :-/ :-/
Cuando lo pediste compa ???
-
lo pedí el lunes 6 :shock:
Cuando lo pedí decía que tardaria 2 semanas, pero ya me aparece que esta en la ciudad y lo entregan mañana
-
lo pedí el lunes 6 :shock:
Cuando lo pedí decía que tardaria 2 semanas, pero ya me aparece que esta en la ciudad y lo entregan mañana
Yo lo pedi el 8 y llega mañana 10 de enero. (((:-)))
Que bueno que te leí , porque no lo esperaba todavía,también me marcaba las 2 semanas!
Ya llegaron las 2 tarjetas ((:-)) , muy rápido .
-
Yo también estoy apuntado al curso, y pedí la placa Tiva-C a farnell, entrega en 24/48h.
Respecto a estos micros un amigo me ha recomendado encarecidamente el uso de los micro ARM y este es el momento para "aprenderlos".
-
yo la pedi la semana pasada a texas y hoy me acaba de llegar!!! asi que listo para comenzarr...
Pregunto... mientras tanto... no se podra hacer nadaa????
Saludos
Carlos
-
ya subieron los videos de los primeros 2 temas, estan en el canal de youtube del curso :mrgreen:
-
Bueno, ya me llegó a mi tambien....
Por cierto, alguien sabe cual sería la herramienta de desarrollo gratuita que se podría utilizar con estos micros? porque por lo que veo el code composer es libre para los kit de evaluacion... pero si hago un proyecto con este micro, con que lo podría programar?
Saludos!
-
se va a usar el Keil uVision IDE, eso lo saque de la página del curso, la verdad no tengo idea de como es ese IDE, el code composer es propio de texas, de este no tengo idea
-
Yo estoy siguiendo los avances por google+, ahi veo las novedades... hay algun otro lugar mejor o mas ordenado donde ver las novedades del curso?
en este link http://www.youtube.com/playlist?list=PLzk9cpCXh2wjEg4OUTESV7yW6kOpyeA9k#UTEmbeddedSys aparecen todos los videos ordenados.
voy bien? nunca había hecho un curso en esta página ni de este estilo...
Edito: https://www.youtube.com/user/JonathanWValvano/videos?view=1&flow=grid ese link tiene todos los videos de los capitulos, el otro creo que es solo del modulo 1.
Saludos!
-
He estado mirando por encima esos vídeos y no puedo activar los subtítulos, ¿podéis vosotros?
-
Probé con UT.6.01x C4 Digital Logic y todo funciono bien, subtítulos en ingles
-
Pues sí, en ese vídeo sí lo veo. Gracias
-
¿Dicen en algún momento qué versión del IDE hay que utilizar?
Como lo tengo que poner nuevo, no quisiera descargar la última versión y que la dll de evaluación no funcione en esa versión.
-
¿Dicen en algún momento qué versión del IDE hay que utilizar?
Como lo tengo que poner nuevo, no quisiera descargar la última versión y que la dll de evaluación no funcione en esa versión.
Postearon esto:
"Please use Keil v4.73 for the course, not v5, install instructions provided here"
y un link con instrucciones, como mencionó nocturno, la información esta un poco desordenada
http://users.ece.utexas.edu/~valvano/edX/KeilInstall.html (http://users.ece.utexas.edu/~valvano/edX/KeilInstall.html)
-
Muchas gracias, Rivale.
A ver si puedo ir adelantando la instalación este fin de semana.
-
He estado mirando por encima esos vídeos y no puedo activar los subtítulos, ¿podéis vosotros?
Yo a jhonatan lo sigo bastante bien, pero a "Ramesh Yerraballi" no le entiendo una goma!!!!!!
Tienen subtitulos en castellano? o son subs en ingles?
Saludos!
-
Los subtítulos que he visto están en inglés, aunque en cursos anteriores se podían traducir al español. Yo prefiero seguirlos en inglés porque me sirve para reforzar el idioma, pero espero que también esté disponible la traducción para cuando me atasque.
-
El acento es muy diferente, pero concuerdo con con Nocturno sirve mucho para reforzar el idioma, debes de acostumbrarse al acento que tiene.
-
¿Dicen en algún momento qué versión del IDE hay que utilizar?
Como lo tengo que poner nuevo, no quisiera descargar la última versión y que la dll de evaluación no funcione en esa versión.
Postearon esto:
"Please use Keil v4.73 for the course, not v5, install instructions provided here"
y un link con instrucciones, como mencionó nocturno, la información esta un poco desordenada
http://users.ece.utexas.edu/~valvano/edX/KeilInstall.html (http://users.ece.utexas.edu/~valvano/edX/KeilInstall.html)
sobre los driver's no han dich nada? yo veo únicamente una sugerencia para la stellaris, pero para esta paca, la tivia no han puesto nada, verdad?
los videos los ven en YouTube, no?
Saludos!!
-
Si señores, segun el syllabus del curso, es para Stellaris y obvio que el micro LM4F120 se actualizo, para ser el Tiva C. Pero es lo mismo que el libro que se promociona del señor Valvano, la información del curso.
-
He querido accesar a la pagina del curso y no carga !! :5]
La información esta hecha bolas , si no los leo ni me entero como esta esto!
-
Esta madrugada he recibido un email diciendo la hora de comienzo del curso (cito textualmente)
Here We Go!
After many months of hard work, we are excited to share the course material with you. You can look forward to an engaging journey that centers on experiential learning. Our course will launch on Wednesday, January 22nd at 22:00 UTC which will be 4:00PM Central Standard Time. ThisThis (http://edx.us7.list-manage.com/track/click?u=3eab2f1f63a09bcde67a8e809&id=6485b1cb70&e=0d0c901741) converter may help you determine the corresponding time in your area.
Por tanto según esa información el curso empezará a las 23h hora española.
Respecto a lo que dice AKENAFAB:
He querido accesar a la pagina del curso y no carga !! :5]
La información esta hecha bolas , si no los leo ni me entero como esta esto!
Parece que la página de Valvano está caida, sin embargo la web del curso si está disponible, aunque aún no hay acceso al curso propiamente dicho.
Curso (https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172)
-
¡Qué nervios! ;-)
-
¿alguien sabe si con gcc se puede compilar para este micro, ya sea en windows o linux (debian)?
¿Y como se configuraría en eclipse?
Ya se que no es lo que se va a utilizar en el curso, pero para hacer alguna que otra cosa en casa me gustaría ir metiéndome en estas herramientas y todos los compiladores que he visto para este están limitados a 16 ó 32 Kb y las licencias cuestan un dineral...
-
¿alguien sabe si con gcc se puede compilar para este micro, ya sea en windows o linux (debian)?
Puedes probar con este compilador gcc-arm-embeddedhttps://launchpad.net/gcc-arm-embedded (https://launchpad.net/gcc-arm-embedded)
¿Y como se configuraría en eclipse?
Aquí tienes la información para configurarlo bajo eclipse link (http://www.scienceprog.com/setting-up-tiva-c-launchpad-project-template-with-sourcery-codebench-and-eclipse/)
Otra opción es usar Coocox (http://www.coocox.org/CooCox_CoIDE.htm), pero no estoy seguro de que soporte el micro del curso.
Ya se que no es lo que se va a utilizar en el curso, pero para hacer alguna que otra cosa en casa me gustaría ir metiéndome en estas herramientas y todos los compiladores que he visto para este están limitados a 16 ó 32 Kb y las licencias cuestan un dineral...
Según he leido, mientras trabajes con el TIVA-C, No existe limitación, pero ya no estoy seguro de si lo leí sobre el uVision, IAR o sobre Code Composer Studio.
Un saludo.
-
Hoy se hace honor al nombre que Nocturno le dió al post ((:-))
He querido accesar a la pagina del curso y no carga !! :5]
La información esta hecha bolas , si no los leo ni me entero como esta esto!
tienes razón, esperemos que ya hoy que empieza el curso formalmente quede todo en orden.
Por lo que leí ya hoy estarán disponibles los temas correspondientes a 1/3 parte del curso, esto para que podamos adelantar si ya tenemos conocimientos previos ;-)
-
Esta todo muy desordenado! ya hay videos en el canal de valvano, pero no se si son parte del curso o son previos... a que hora sería el comienzo en argentina?
Saludos!
-
Esta todo muy desordenado! ya hay videos en el canal de valvano, pero no se si son parte del curso o son previos... a que hora sería el comienzo en argentina?
Saludos!
en méxico será a las 4, creo que argentina es el mismo uso horario
-
Muchas gracias Skormel, si este fin de semana saco tiempo intentaré instalarlo.
-
He querido accesar a la pagina del curso y no carga !! :5]
La información esta hecha bolas , si no los leo ni me entero como esta esto!
Quizas alguien ha leido la noticias,
Se dice que mas de 16 millones de pagina internet y correo de E-mail han sido atacados con Troyanos buscando informacion Bancaria de personas.
Leer aqui (http://www.teinteresa.es/mundo/millones-cuentas-electronico-Alemania-hackeadas_0_1070294424.html#sr=g&m=o&cp=or&ct=-tmc&st=%28opu%20qspwjefe%29&ts=1390418366)
yo intentaba entrar en algunas paginas y no me abrian, cosas raras hasta que lei la noticias
-
y? arrancó? enlace para ver?????
-
Che, como es el tema? en edx.com en el dashboard luego en coursewere veo que esta el material. Pero los videos ya no están disponibles. Yo los habia visto por youtube, pero ahora como sigue? hay que leer y nada más?
Saludos!
-
yo acabo de entrar y los videos estan disponibles, no permite descargarlos pero si se pueden visualizar. al parecer el material ya esta ordenado
-
Usen downloadhelper 8)
-
Hola a todos, como van con el curso?, yo recien me hice de tiempo para empezarlo, ya abri la cajita y conecté la tarjeta :mrgreen:.
-
La verdad es que muy bien. Ya estoy terminando el tema 6. Los primeros temas son muy sencillos.
Si tienes cualquier duda avisa.
Un saludo.
-
La verdad es que muy bien. Ya estoy terminando el tema 6. Los primeros temas son muy sencillos.
Si tienes cualquier duda avisa.
Un saludo.
Gracias, si, por lo que vi los primeros temas son conceptos básicos de electrónica y programación. espero avanzar rapido con esos para llegar a las aplicaciones :-)
-
Hola a todos, como van con el curso?, yo recien me hice de tiempo para empezarlo, ya abri la cajita y conecté la tarjeta :mrgreen:.
Hola compa!
Pues yo termine la parte 1 y 2 ,hice el primer lab con el uC.
por ahora todo bien!
Saludos!
-
Hola compa!
Pues yo termine la parte 1 y 2 ,hice el primer lab con el uC.
por ahora todo bien!
Saludos!
Hola Akena
vamos casi iguales, hoy termino el capítulo 2, para que no se me pasen las fechas :mrgreen:
-
ya intenté hacer la práctica del lab2 pero al compilar con la tarjeta en físico no me aparece el grader
cuando lo hice con la simulación todo funcionó bien pero en la real no me aparece la aplicación para calificar, a alguien mas le ha pasado o sabe como arreglarlo
-
Ya encontré como, en debug le puse en OS suport y ahi se activa la ventana del grade, por i a alguien mas le sirve
-
Yo voy retrasado, he llegado al Lab del tema 2 y no lo he hecho aún. Tengo todavía que instalar las aplicaciones y probar todo eso.
A ver si este finde me pongo al día.
-
Tranquilidad. Los primeros temas son muy sencillos y se pone uno al día enseguida.
-
Alguien probó el grader del lab 5B? lo he probado en simulacion y funciona mi funcion. Pero cuando quiero hacer el grader en el físico, no funciona, m pide que resetee el lunchpad, lo hago y nada, es como que no se comunicara el PC con el uC por el serie. Probe con las configuraciones de velocidad 115200 y 9600, pero nada... alguna idea?
Saludos!
-
Todavía voy por el capítulo 3. Si llego y sigues atascado intentaré ayudarte.
-
Muy buenas a todos,
Alguien probó el grader del lab 5B? lo he probado en simulacion y funciona mi funcion. Pero cuando quiero hacer el grader en el físico, no funciona, m pide que resetee el lunchpad, lo hago y nada, es como que no se comunicara el PC con el uC por el serie. Probe con las configuraciones de velocidad 115200 y 9600, pero nada... alguna idea?
Saludos!
Comprueba que has volcado el firmware al Tiva-C, que estás debugeando y que está corriendo el micro.
Te paso una captura de video donde hago el proceso para que compruebes a ver si tienes algo raro.
Espero que te sirva.
PD: El código de la función no te lo pongo para que la gente no diga que voy "Chivando el ejercicio", aunque si lo queréis decidlo.
Un saludo.
-
bien, bien, ahora veo que pones debug y run en el keil... como tienes configurado el debug, como simulation o como tivia C? creo que prove eso tambien, pero lo voy a ver denuevo... en las configuraciones de sistema, como tienes configurado tu puerto com?
saludos!
-
Buenas de nuevo,
Las configuraciones son las siguientes:
* Respecto al COM lo tengo por defecto, tal cual me lo detectó el sistema:
- Baudios 9600,
- Bits de Datos: 8
- Paridad: None
- Bits de parada: 1
- Control de Flujo: None
(http://www.chaputronia.com/wp-content/uploads/2014/02/conf_conVirtual.png)
* Respecto a la configuración de Keil te la adjunto con una captura de pantalla:
(http://www.chaputronia.com/wp-content/uploads/2014/02/conf_Keil.png)
Espero que te sirva de ayuda.
Un saludo.
-
no hay caso... voy a probar de reinstalar el driver de la placa. yo use los driver que vienen con texas... vos usaste el link que pusieron aparte?
sds.
-
Pues lo tengo instalado en dos ordenadores, en cada uno usé una forma distinta y en los dos me funciona.
-
no me anda... reinstale y nada... es como que no enviara nada por el puerto serie virtual. incluso si abro un hyperterminal tampoco veo tráfico... ya veré si a alguien mas le pasa o si prueno en otra PC...
Saludos!
-
no me anda... reinstale y nada... es como que no enviara nada por el puerto serie virtual. incluso si abro un hyperterminal tampoco veo tráfico... ya veré si a alguien mas le pasa o si prueno en otra PC...
Saludos!
Prueba a ver si puedes ver algo con la aplicación TExaSdisplay funciona muy bien.
-
miren lo que trajo hoy el correo:
(http://farm4.staticflickr.com/3740/12501810115_f987588c17_z.jpg) (http://www.flickr.com/photos/117247358@N03/12501810115/)
aguante texas!!!! ahora si no hat dudas, a terminar el curso cueste lo que cueste!
Saludos
-
Hola,
Yo estoy en el lab 5 y ya he realizado el lab 5 con el simulador. Ahora no paso del real board Grade.
A ver si resuelvo unas dudas:
1.Tengo el programa de calcular el rectángulo, este es el que cargo al micro?
2.Compilo y grabo soft en micro.
Entonces pongo que el debbuger sea para el board y no simulador. Le doy a simular.
Me sale a la derecha el texas grader v2.0 y donde pone numfromedx pongo el numero del lab que me sale en la web.
A partir de aki me quedo encallado pq le doy a run a grade y no me devuelve nada. Si lo hago por la ventanita que sale el dibujo del pin me sale que bien pero el código no es correcto
Alguien me puede indicar como hacerlo. Estoy seguro que no es complicado :D
Saludos y muchas gracias,
-
Tienes que hacer click en el check box llamado "Grade", en la parte inferior de la ventana Texas Grader.
No hace falta que le des a RUN; ya lo hace él solito.
Y déjale trabajar, tardará un poco.
-
Hola Nocturno,
Primero agradecer tu ayuda, por fin pude hacerlo.
Ahora estoy con el lab8 y no paso la prueba del simulador: Todo va bien hasta que llego al PAso 3 del Grader donde pone:
3) Switch not pressed test, LED should be on :
Fail: LED should be on when switch is not pressed
no entiendo pq no lo paso. Adjunto mi programa a ver si alguien me puede hechar una mano.
Por ultimo, cuando simulo en el Realboard me da 100 puntos. No se, no lo entiendo.
Saludos y muchas gracias
// ***** 0. Documentation Section *****
// SwitchLEDInterface.c for Lab 8
// Runs on LM4F120/TM4C123
// Use simple programming structures in C to toggle an LED
// while a button is pressed and turn the LED on when the
// button is released. This lab requires external hardware
// to be wired to the LaunchPad using the prototyping board.
// January 11, 2014
// Lab 8
// Jon Valvano and Ramesh Yerraballi
// November 21, 2013
// ***** 1. Pre-processor Directives Section *****
#include "TExaS.h"
#include "tm4c123gh6pm.h"
// ***** 2. Global Declarations Section *****
// FUNCTION PROTOTYPES: Each subroutine defined
void DisableInterrupts(void); // Disable interrupts
void EnableInterrupts(void); // Enable interrupts
void PortE_Init(void); //PortE initaliza
void delay(unsigned long halfsecs);
// ***** 3. Subroutines Section *****
// PE0, PB0, or PA2 connected to positive logic momentary switch using 10 k ohm pull down resistor
// PE1, PB1, or PA3 connected to positive logic LED through 470 ohm current limiting resistor
// To avoid damaging your hardware, ensure that your circuits match the schematic
// shown in Lab8_artist.sch (PCB Artist schematic file) or
// Lab8_artist.pdf (compatible with many various readers like Adobe Acrobat).
//GLobal Variables
unsigned long in,out;
int main(void){
//**********************************************************************
// The following version tests input on PE0 and output on PE1
//**********************************************************************
TExaS_Init(SW_PIN_PE0, LED_PIN_PE1); // activate grader and set system clock to 80 MHz
EnableInterrupts(); // enable interrupts for the grader
PortE_Init();
while(1){
in=(GPIO_PORTE_DATA_R & 0x01);
if (in== 0x00){
GPIO_PORTE_DATA_R=0x02;
}
else{
GPIO_PORTE_DATA_R^=0x02;
delay(1);
}
}
}
void PortE_Init(void){ unsigned long volatile delay;
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOE; // Port E clock
delay = SYSCTL_RCGC2_R; // wait 3-5 bus cycles
GPIO_PORTE_DIR_R |= 0x02; // PE1 output
GPIO_PORTE_DIR_R &= ~0x01; // PE0 input
GPIO_PORTE_AFSEL_R &= ~0x03; // not alternative
GPIO_PORTE_AMSEL_R &= ~0x03; // no analog
GPIO_PORTE_PCTL_R &= ~0x0000F00F; // bits for PD3, PD0
GPIO_PORTE_DEN_R |= 0x03; // enable PE1, PE0
}
// Subroutine to delay in units of half seconds
// We will make a precise estimate later:
// For now we assume it takes 1/2 sec to count down
// from 2,000,000 down to zero
// Inputs: Number of half seconds to delay
// Outputs: None
// Notes: ...
void delay(unsigned long halfsecs){
unsigned long count;
while(halfsecs > 0 ) { // repeat while there are still halfsecs to delay
count = 1538460; // 400000*0.5/0.13 that it takes 0.13 sec to count down to zero
while (count > 0) {
count--;
} // This while loop takes approximately 3 cycles
halfsecs--;
}
}
-
Hola Nocturno,
Primero agradecer tu ayuda, por fin pude hacerlo.
Ahora estoy con el lab8 y no paso la prueba del simulador: Todo va bien hasta que llego al PAso 3 del Grader donde pone:
3) Switch not pressed test, LED should be on :
Fail: LED should be on when switch is not pressed
no entiendo pq no lo paso. Adjunto mi programa a ver si alguien me puede hechar una mano.
Por ultimo, cuando simulo en el Realboard me da 100 puntos. No se, no lo entiendo.
Saludos y muchas gracias
// ***** 0. Documentation Section *****
// SwitchLEDInterface.c for Lab 8
// Runs on LM4F120/TM4C123
// Use simple programming structures in C to toggle an LED
// while a button is pressed and turn the LED on when the
// button is released. This lab requires external hardware
// to be wired to the LaunchPad using the prototyping board.
// January 11, 2014
// Lab 8
// Jon Valvano and Ramesh Yerraballi
// November 21, 2013
// ***** 1. Pre-processor Directives Section *****
#include "TExaS.h"
#include "tm4c123gh6pm.h"
// ***** 2. Global Declarations Section *****
// FUNCTION PROTOTYPES: Each subroutine defined
void DisableInterrupts(void); // Disable interrupts
void EnableInterrupts(void); // Enable interrupts
void PortE_Init(void); //PortE initaliza
void delay(unsigned long halfsecs);
// ***** 3. Subroutines Section *****
// PE0, PB0, or PA2 connected to positive logic momentary switch using 10 k ohm pull down resistor
// PE1, PB1, or PA3 connected to positive logic LED through 470 ohm current limiting resistor
// To avoid damaging your hardware, ensure that your circuits match the schematic
// shown in Lab8_artist.sch (PCB Artist schematic file) or
// Lab8_artist.pdf (compatible with many various readers like Adobe Acrobat).
//GLobal Variables
unsigned long in,out;
int main(void){
//**********************************************************************
// The following version tests input on PE0 and output on PE1
//**********************************************************************
TExaS_Init(SW_PIN_PE0, LED_PIN_PE1); // activate grader and set system clock to 80 MHz
EnableInterrupts(); // enable interrupts for the grader
PortE_Init();
while(1){
in=(GPIO_PORTE_DATA_R & 0x01);
if (in== 0x00){
GPIO_PORTE_DATA_R=0x02;
}
else{
GPIO_PORTE_DATA_R^=0x02;
delay(1);
}
}
}
void PortE_Init(void){ unsigned long volatile delay;
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOE; // Port E clock
delay = SYSCTL_RCGC2_R; // wait 3-5 bus cycles
GPIO_PORTE_DIR_R |= 0x02; // PE1 output
GPIO_PORTE_DIR_R &= ~0x01; // PE0 input
GPIO_PORTE_AFSEL_R &= ~0x03; // not alternative
GPIO_PORTE_AMSEL_R &= ~0x03; // no analog
GPIO_PORTE_PCTL_R &= ~0x0000F00F; // bits for PD3, PD0
GPIO_PORTE_DEN_R |= 0x03; // enable PE1, PE0
}
// Subroutine to delay in units of half seconds
// We will make a precise estimate later:
// For now we assume it takes 1/2 sec to count down
// from 2,000,000 down to zero
// Inputs: Number of half seconds to delay
// Outputs: None
// Notes: ...
void delay(unsigned long halfsecs){
unsigned long count;
while(halfsecs > 0 ) { // repeat while there are still halfsecs to delay
count = 1538460; // 400000*0.5/0.13 that it takes 0.13 sec to count down to zero
while (count > 0) {
count--;
} // This while loop takes approximately 3 cycles
halfsecs--;
}
}
Buenas, prueba con este delay a ver que tal.
void delay100ms(){
unsigned long volatile time;
time = 905452;
while(time){
time--;
}
}
-
Hola Skormel,
Cambie la función de delay como me dijiste y al hacer el grade de simulador otra vez lo mismo. Lo curioso es que lo hago sin activar el grade pero usando su interface y funciona. :(
Bueno seguiré para adelante que haremos.
Saludos y gracias
-
Hola Skormel,
Cambie la función de delay como me dijiste y al hacer el grade de simulador otra vez lo mismo. Lo curioso es que lo hago sin activar el grade pero usando su interface y funciona. :(
Bueno seguiré para adelante que haremos.
Saludos y gracias
Utiliza mi código a ver que tal
// ***** 0. Documentation Section *****
// SwitchLEDInterface.c for Lab 8
// Runs on LM4F120/TM4C123
// Use simple programming structures in C to toggle an LED
// while a button is pressed and turn the LED on when the
// button is released. This lab requires external hardware
// to be wired to the LaunchPad using the prototyping board.
// January 11, 2014
// Lab 8
// Jon Valvano and Ramesh Yerraballi
// November 21, 2013
// ***** 1. Pre-processor Directives Section *****
#include "TExaS.h"
#include "tm4c123gh6pm.h"
// ***** 2. Global Declarations Section *****
unsigned long in,out;
// FUNCTION PROTOTYPES: Each subroutine defined
void DisableInterrupts(void); // Disable interrupts
void EnableInterrupts(void); // Enable interrupts
void delayms(unsigned long halfsecs);
//void delay(unsigned long halfsecs);
// ***** 3. Subroutines Section *****
// PE0, PB0, or PA2 connected to positive logic momentary switch using 10 k ohm pull down resistor
// PE1, PB1, or PA3 connected to positive logic LED through 470 ohm current limiting resistor
// To avoid damaging your hardware, ensure that your circuits match the schematic
// shown in Lab8_artist.sch (PCB Artist schematic file) or
// Lab8_artist.pdf (compatible with many various readers like Adobe Acrobat).
int main(void){
unsigned long volatile delay;
//**********************************************************************
// The following version tests input on PE0 and output on PE1
//**********************************************************************
TExaS_Init(SW_PIN_PE0, LED_PIN_PE1); // activate grader and set system clock to 80 MHz
EnableInterrupts(); // enable interrupts for the grader
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOE; // Port E clock
delay = SYSCTL_RCGC2_R; // wait 3-5 bus cycles
GPIO_PORTE_DIR_R |= 0x02; // PE1 output
GPIO_PORTE_DIR_R &= ~0x01; // PE0 input
GPIO_PORTE_AFSEL_R &= ~0x03; // not alternative
GPIO_PORTE_AMSEL_R &= ~0x03; // no analog
GPIO_PORTE_PCTL_R &= ~0x0000F00F; // bits for PD3, PD0
GPIO_PORTE_DEN_R |= 0x03; // enable PE1, PE0
GPIO_PORTE_DATA_R=0x02;
while(1){
in=(GPIO_PORTE_DATA_R & 0x01);
if (in== 0x00){
GPIO_PORTE_DATA_R=0x02;
}
else{
delayms(100);
GPIO_PORTE_DATA_R^=0x02;
}
}
}
void delayms(unsigned long halfsecs){
unsigned long volatile time;
//time = 145452; // 0.1sec
time = 905452;
while(time){
time--;
}
}
-
Morelius, si al primer código que subiste le cambias 1538460 por 1333333 te ejecuta la graduación hasta el 100%.
El problema era que el delay estaba puesto muy lento y no se conseguían las pausas de 100ms.
-
Hola a todos,
Gracias de veras por vuestros esfuerzos estoy muy agradecido(Skormel y Nocturno). Como soy novato, a veces me quedo estancado con cosas simples.
Bueno todo perfecto,
Ya voy por el capítulo 10 y estoy disfrutando como un niño.
SAludos y gracias otra vez.
-
¿Sabéis si le pasa algo al curso?, llevo días con el capítulo 11 terminado y no publican el 12.
-
Supongo que habrá que esperar. Yo aún voy por el 10 ( últimamente ando con mucho lío y apenas llego para terminarlos a tiempo)
-
En el tema "C10 Finite State maquine" hay un quiz que me tiene descolocado, a ver si me podéis echar una mano.
SYSTICK_WAIT (1 point possible)
Assume we are calling SysTick_Wait as defined in Program 10.2. The bus period is 12.5 ns (80 MHz). What is the longest delay in seconds that we can create by calling this function just once?
(https://courses.edx.org/c4x/UTAustinX/UT.6.01x/asset/prgm10_2.PNG)
Teniendo en cuenta que el tipo de variable que se le pasa a SysTick_Wait es un unsigned long, estamos hablando de una variable de 32bits por tanto el mayor número que podemos obtener es 2^32 = 4294967296 con lo que el rango de valores es 0 a 4294967295.
Por tanto si cada sentencia consume 12.5ns y le pasamos el mayor número posible 12.5 * 10^(-9) * 4294967295 = 53.68 seg. Sin embargo el sistema me lo da como erróneo.
¿En qué me equivoco?
Un saludo.
-
El registo RELOAD del SysTick solo permite 24 bit, por lo que 2^24=16777216 y el delay máximo 12.5n*16777216=0.2097s
-
Buaaaa vaya fallo tonto.
Muchas gracias por recordámelo.
Un saludo.
-
El grader del Lab10 me tiene loco, no consigo pasar de 65 puntos. He mirado en el foro de piazza pero no consigo ver la solución. ¿Alguien sabe como se soluciona?
// ***** 0. Documentation Section *****
// TableTrafficLight.c for Lab 10
// Runs on LM4F120/TM4C123
// Index implementation of a Moore finite state machine to operate a traffic light.
// Daniel Valvano, Jonathan Valvano
// November 7, 2013
// east/west red light connected to PB5
// east/west yellow light connected to PB4
// east/west green light connected to PB3
// north/south facing red light connected to PB2
// north/south facing yellow light connected to PB1
// north/south facing green light connected to PB0
// pedestrian detector connected to PE2 (1=pedestrian present)
// north/south car detector connected to PE1 (1=car present)
// east/west car detector connected to PE0 (1=car present)
// "walk" light connected to PF3 (built-in green LED)
// "don't walk" light connected to PF1 (built-in red LED)
// ***** 1. Pre-processor Directives Section *****
#include "TExaS.h"
#include "tm4c123gh6pm.h"
// ***** 2. Global Declarations Section *****
// FUNCTION PROTOTYPES: Each subroutine defined
void DisableInterrupts(void); // Disable interrupts
void EnableInterrupts(void); // Enable interrupts
void PortF_Init(void); // Inicializar las luces de los peatones PF3 PF1
void PortB_Init(void); // Inicializar las luces de los semaforos PB[5-0]
void PortE_Init(void); // Inicializar los sensores PE[2-0]
// Initialize SysTick with busy wait running at bus clock.
void SysTick_Init(void);
// Time delay using busy wait.
// The delay parameter is in units of the core clock. (units of 12.5 nsec for 80 MHz clock)
void SysTick_Wait(unsigned long delay);
// Time delay using busy wait.
// This assumes 80 MHz system clock.
void SysTick_Wait10ms(unsigned long delay);
// ***** 3. Subroutines Section *****
// Linked data structure
struct State {
unsigned long Out;
unsigned long OutPedest;
unsigned long Time;
unsigned long Next[8];};
typedef const struct State STyp;
#define WaitAll 0
#define GoWest 1
#define GoWestWait 2
#define GoSouth 3
#define DoSouthWait 4
#define GoPedest 5
#define HurryUp1 6
#define HurryUp2 7
#define HurryUp3 8
#define HurryUp4 9
#define GoWestSouth 10
#define GoSouthWest 11
#define GoWestSouthPedest 12
STyp FSM[15] = {
{0x24,0x02,50,{0,1,3,2,5,1,3,1}},
{0x0c,0x02,100,{2,1,2,2,2,2,2,2}},
{0x14,0x02,50,{0,0,0,10,5,5,3,3}},
{0x21,0x02,100,{4,4,3,4,4,4,4,4}},
{0x22,0x02,50,{0,0,0,11,5,5,5,12}},
{0x24,0x08,100,{6,6,6,6,5,6,6,6}},
{0x24,0x02,50,{7,7,7,7,7,7,7,7}},
{0x24,0x08,50,{8,8,8,8,8,8,8,8}},
{0x24,0x02,50,{9,9,9,9,9,9,9,9}},
{0x24,0x08,50,{13,13,13,13,13,13,13,13}},
{0x24,0x02,25,{0,1,3,3,5,5,3,3}},
{0x24,0x02,25,{0,1,3,1,5,5,1,5}},
{0x24,0x02,25,{0,1,3,1,5,5,5,5}},
{0x24,0x02,50,{14,14,14,14,14,14,14,14}},
{0x24,0x08,50,{0,0,0,0,0,0,0,0}}
};
unsigned char cState; // current State (0 to 14)
unsigned char input;
int main(void){
TExaS_Init(SW_PIN_PE210, LED_PIN_PB543210); // activate grader and set system clock to 80 MHz
PortF_Init();
PortE_Init();
PortB_Init();
SysTick_Init();
cState = 0;
EnableInterrupts();
while(1){
GPIO_PORTB_DATA_R = FSM[cState].Out;
GPIO_PORTF_DATA_R = FSM[cState].OutPedest;
SysTick_Wait10ms(FSM[cState].Time);
input = GPIO_PORTE_DATA_R&0x07; // Enmascaramos el resto de entradas que no sean PE[2-0]
cState = FSM[cState].Next[input];
}
}
void PortF_Init(void){ volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000020; // 1) activate clock for Port F
delay = SYSCTL_RCGC2_R; // allow time for clock to start
GPIO_PORTF_AMSEL_R = 0x00; // 2) disable analog on PF
GPIO_PORTF_PCTL_R = 0x00000000; // 3) PCTL GPIO on PF4-0
GPIO_PORTF_DIR_R |= 0x0A; // 4) PB[0-5] is out
GPIO_PORTF_AFSEL_R &= ~0x0A; // 5) disable alt funct on PF7-0
GPIO_PORTF_PUR_R |= 0x0A; // enable pull-up on PF4
GPIO_PORTF_DEN_R |= 0x0A; // 6) enable digital I/O on PF4
}
void PortE_Init(void){ volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000010; // 1) activate clock for Port F
delay = SYSCTL_RCGC2_R; // allow time for clock to start
GPIO_PORTE_AMSEL_R = 0x00; // 2) disable analog on PE
GPIO_PORTE_PCTL_R = 0x00000000; // 3) PCTL GPIO on PE2-0
GPIO_PORTE_DIR_R &= ~0x07; // 4) PE[2-0] in
GPIO_PORTE_AFSEL_R &= ~0x07; // 5) disable alt funct on PE7-0
GPIO_PORTE_PUR_R |= 0x07; // enable pull-up on PE[2-0]
GPIO_PORTE_DEN_R |= 0x07; // 6) enable digital I/O on PE[2-0]
}
void PortB_Init(void){ volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000002; // 1) activate clock for Port B
delay = SYSCTL_RCGC2_R; // allow time for clock to start
GPIO_PORTB_AMSEL_R = 0x00; // 3) disable analog on PB
GPIO_PORTB_PCTL_R = 0x00000000; // 4) PCTL GPIO on PB0
GPIO_PORTB_DIR_R |= 0x3F; // 5) PB[0-5] is out
GPIO_PORTB_AFSEL_R &= ~0x3F; // 6) disable alt funct on PB0
GPIO_PORTB_DEN_R |= 0x3F; // 7) enable digital I/O on PB0
}
void SysTick_Init(void){
NVIC_ST_CTRL_R = 0; // disable SysTick during setup
NVIC_ST_CTRL_R = 0x00000005; // enable SysTick with core clock
}
// The delay parameter is in units of the 80 MHz core clock. (12.5 ns)
void SysTick_Wait(unsigned long delay){
NVIC_ST_RELOAD_R = delay-1; // number of counts to wait
NVIC_ST_CURRENT_R = 0; // any value written to CURRENT clears
while((NVIC_ST_CTRL_R&0x00010000)==0){ // wait for count flag
}
}
// 10000us equals 10ms
void SysTick_Wait10ms(unsigned long delay){
unsigned long i;
for(i=0; i<delay; i++){
SysTick_Wait(800000); // wait 10ms
}
}
Y esta es la salida
Running with Code Size Limit: 32K
Load "C:\\Keil4\\Labware\\Lab10_TrafficLight\\Lab10.axf"
*** Restricted Version with 32768 Byte Code Size Limit
*** Currently used: 19052 Bytes (58%)
Start grading
Clock rate appears to be : 80 MHz
Running 5 tests
0) Initialization tests :
- (PE2-0) have been selected as the input pins
- Verifying input configuration...
Pass: PORTE DEN bits (2-0) are high
Pass: PORTE DIR bits (2-0) are low
Pass: PORTE AFSEL bits (2-0) are low
Pass: PORTE AMSEL bits (2-0) are low
Pass: PORTE PCTL bits (11-0) are low
- (PB5-0) have been selected as the output pins
- Verifying output configuration...
Pass: PORTB DEN bits (5-0) are high
Pass: PORTB DIR bits (5-0) are high
Pass: PORTB AFSEL bits (5-0) are low
Pass: PORTB AMSEL bits (5-0) are low
Pass: PORTB PCTL bits (23-0) are low
1) Servicing all 3 requests, lights should make a complete cycle
FSM: Transition: 1 to 2
FSM: Transition: 2 to 3
FSM: Transition: 3 to 4
FSM: Transition: 4 to 5
FSM: Transition: 5 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 2
FSM: Transition: 2 to 3
FSM: Transition: 3 to 4
FSM: Transition: 4 to 5
FSM: Transition: 5 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 2
FSM: Transition: 2 to 3
FSM: Transition: 3 to 4
FSM: Transition: 4 to 5
FSM: Transition: 5 to 1
FSM: Transition: 1 to 6
* FAIL: Did not service all requests before the timeout
Pass: South request was serviced
Pass: West request was serviced
* FAIL: Walk request was not serviced
- Test FAILED
2) Servicing walk button, walk light should come on
Pass: All requests were serviced
Pass: Walk request was serviced
- Test PASSED
3) Servicing west button, west green light should come on
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 2
Pass: All requests were serviced
Pass: West request was serviced
- Test PASSED
4) Servicing south button, south green light should come on
FSM: Transition: 2 to 3
FSM: Transition: 3 to 1
FSM: Transition: 1 to 4
Pass: All requests were serviced
Pass: South request was serviced
- Test PASSED
Done grading. Score is 65
Muchas gracias.
Un saludo.
-
NO veo dónde tienes el fallo, pero si quieres te paso mi código
-
NO veo dónde tienes el fallo, pero si quieres te paso mi código
Pues mira la verdad es que me sería de gran ayuda, ya que en el modo manual funciona todo a la perfección. Según he visto hay un montón de gente en el foro del curso que le pasa lo mismo (es una peculiaridad del grader 10 de los coj....)
Un saludo.
-
Una semana... Una semana enterita me he estado devanando los sesos con el %&$·$·$% de la máquina de elementos finitos, para que al final haya sido culpa del grader.
Publicaron una versión el 2 de marzo que no había visto. Ayer me di cuenta, la instalé y funcionó con la primera versión que hice.
-
Una semana... Una semana enterita me he estado devanando los sesos con el %&$·$·$% de la máquina de elementos finitos, para que al final haya sido culpa del grader.
Publicaron una versión el 2 de marzo que no había visto. Ayer me di cuenta, la instalé y funcionó con la primera versión que hice.
Me he bajado este Enlace (http://edx-org-utaustinx.s3.amazonaws.com/UT601x/TExaS_Patch.exe) pero sigue igual. Esta grader es un poco toca bola, anoche leí que había gente que cambiando el estado inicial de la máquina le funcionaba (algo que debería ser irrelevante).
-
Tras probar el código de nocturno, obtengo el mismo resultado, 65%. Sin embargo nocturno me asegura que con ese código ha obtenido el 100% tanto en simulación como en real. ¿qué diablos pasará? He instalado el update del grader varias veces y no parece solucionar el fallo.
Esta es la salida:
Running with Code Size Limit: 32K
Load "C:\\Keil4\\Labware\\Lab10_TrafficLight\\Lab10.axf"
*** Restricted Version with 32768 Byte Code Size Limit
*** Currently used: 18948 Bytes (57%)
LA ((PORTB & 0x01) & 0x1) >> 0
LA ((PORTB & 0x02) >> 1 & 0x2) >> 1
LA ((PORTB & 0x04) >> 2 & 0x4) >> 2
LA ((PORTB & 0x08) >> 3 & 0x8) >> 3
LA ((PORTB &0x10) >> 4 & 0x10) >> 4
LA ((PORTB & 0x20) >> 5 & 0x20) >> 5
LA ((PORTF & 0x02) >> 1 & 0x2) >> 1
LA ((PORTF & 0x08) >> 3 & 0x8) >> 3
Start grading
Clock rate appears to be : 80 MHz
Running 5 tests
0) Initialization tests :
- (PE2-0) have been selected as the input pins
- Verifying input configuration...
Pass: PORTE DEN bits (2-0) are high
Pass: PORTE DIR bits (2-0) are low
Pass: PORTE AFSEL bits (2-0) are low
Pass: PORTE AMSEL bits (2-0) are low
Pass: PORTE PCTL bits (11-0) are low
- (PB5-0) have been selected as the output pins
- Verifying output configuration...
Pass: PORTB DEN bits (5-0) are high
Pass: PORTB DIR bits (5-0) are high
Pass: PORTB AFSEL bits (5-0) are low
Pass: PORTB AMSEL bits (5-0) are low
Pass: PORTB PCTL bits (23-0) are low
1) Servicing all 3 requests, lights should make a complete cycle
FSM: Transition: 1 to 4
FSM: Transition: 4 to 5
FSM: Transition: 5 to 1
FSM: Transition: 1 to 6
FSM: Transition: 6 to 1
FSM: Transition: 1 to 7
FSM: Transition: 7 to 1
FSM: Transition: 1 to 7
* FAIL: Did not service all requests before the timeout
* FAIL: South request was not serviced
Pass: West request was serviced
Pass: Walk request was serviced
- Test FAILED
2) Servicing walk button, walk light should come on
FSM: Transition: 7 to 1
FSM: Transition: 1 to 6
Pass: All requests were serviced
Pass: Walk request was serviced
- Test PASSED
3) Servicing west button, west green light should come on
FSM: Transition: 6 to 1
FSM: Transition: 1 to 7
FSM: Transition: 7 to 1
FSM: Transition: 1 to 7
FSM: Transition: 7 to 1
FSM: Transition: 1 to 2
Pass: All requests were serviced
Pass: West request was serviced
- Test PASSED
4) Servicing south button, south green light should come on
FSM: Transition: 2 to 3
FSM: Transition: 3 to 4
Pass: All requests were serviced
Pass: South request was serviced
- Test PASSED
Done grading. Score is 65
Esta semana tendré un 0 en lab y yastá, no me voy a comer más la cabeza.
Muchísimas gracias a todos por la ayuda.
Un saludo.
-
Qué raro. No me atrevo a probarlo a ver si me va a rebajar la graduación, pero cuando lo hice funcionó perfecto.
-
Se puede ejecutar el grade sin meter el código, no pierdes nada.
No estoy en casa, mañana te envío el mío para que lo pruebes a ver.
-
¡Tienes razón, ni lo pensé! :lol: :lol:
Efectivamente, al ejecutar el grader con el código que te he enviado, Skormel, no graduaba bien, pero lo he resuelto.
Recordé que después de hacer la práctica simulada, subí los retardos para que en la práctica real los tiempos fueran más normales, pero con estos tiempos el simulador daba Timeout.
Cambia los retardos de 250 a 5 en la tabla de estados y te funcionará 100%.
#define RETARDO 5
tEstado FSM[11]={
{sTodoRojo, RETARDO, {TodoRojo, OVerde, SVerde, OVerde, WVerde, WVerde, WVerde, SVerde }},
{sOVerde, RETARDO, {OAmarillo, OVerde, OAmarillo, OAmarillo, OAmarillo, OAmarillo, OAmarillo, OAmarillo }},
{sOAmarillo, RETARDO, {TodoRojo, TodoRojo, SVerde, SVerde, WVerde, WVerde, WVerde, SVerde }},
{sSVerde, RETARDO, {SAmarillo, SAmarillo, SVerde, SAmarillo, SAmarillo, SAmarillo, SAmarillo, SAmarillo }},
{sSAmarillo, RETARDO, {TodoRojo, OVerde, TodoRojo, OVerde, WVerde, WVerde, WVerde, WVerde }},
{sWVerde, RETARDO, {DWflash1, DWflash1, DWflash1, DWflash1, WVerde, DWflash1, DWflash1, DWflash1 }},
{sDWflash1, RETARDO, {DWflash2, DWflash2, DWflash2, DWflash2, DWflash2, DWflash2, DWflash2, DWflash2 }},
{sDWflash2, RETARDO, {DWflash3, DWflash3, DWflash3, DWflash3, DWflash3, DWflash3, DWflash3, DWflash3 }},
{sDWflash3, RETARDO, {DWflash4, DWflash4, DWflash4, DWflash4, DWflash4, DWflash4, DWflash4, DWflash4 }},
{sDWflash4, RETARDO, {DWflash5, DWflash5, DWflash5, DWflash5, DWflash5, DWflash5, DWflash5, DWflash5 }},
{sDWflash5, RETARDO, {TodoRojo, OVerde, SVerde, OVerde, WVerde, WVerde, WVerde, OVerde }},
};
-
Este último diagrama de estado si ha funcionado.
Muchas gracias.
-
Bueno, ya terminó el curso. Ha sido muy interesante; no profundiza en las entrañas del ARM pero sí te pone en la senda para que sigas investigando.
Y además, ¡ya tengo mi certificado!
-
También lo conseguí, aunque lo he hecho muy por encima.
No tuve tiempo de meterme con la última parte del videojuego, pero no ha estado del todo mal.
-
Buenas... uno más que se apunta al LaunchPad.
Estoy usando la plataforma CCS de Ti que está basada en eclipse y la verdad el cambio ha sido brutal. Me pasa igual que cuando vi C18 o C30 de microchip. Ves un programa y parece que no está hecho en C.
Un saludito a todos los antiguos que hace mucho que no me pasaba por aqui.
-
¡Hombre, cuánto tiempo!, bienvenido de vuelta.
-
Estoy dandole caña al CCS Coder composer studio de TI y la verdad es que me está costando sangre. Igual me esperaba más ayudas externas del entorno.
Hay que estar muy al loro de meter includes en todas partes... al linker no le sirve con que pongas el include en el archivo .h debes de vincularlo dentro del arbol de proyectos. No le sirve que pongas algunos #define dentro del archivo debes incluirlo en configuraciones que deben ir precompilador como @uart_buffered o el tipo de dispositivo que uses. No se a mi me gusta más que todo quede dentro de los archivos de cabecera.
Por otro lado he visto errores que simplemente me han dejado un poco perplejo. Los achaco aun a mi falta de experiencia, ya veremos si siguen ahí cuando coja mas experiencia. Botones que aparecen y desaparence, en especial los relacionados con el debuggin y el compilador, errores que aparecen cuando supuestamente no he tocado nada... en fin
En el debuger cuando metes algo de codigo algo más complejo como una rutina con un puntero a una función va dando saltos de un lado a otro a veces sin mucho sentido no sabiendo qué linea del assembler se corresponde con el codigo C.
Pese a todo estoy haciendo progresos y he conseguido unque parezca triste hacer funcionar el puerto de serie y "adaptar" una rutina de Glcd de arduino a ccs aunque tiene fallos.
Aconsejo a quien quiera empezar con el entorno usar los videos de Scoot Bland de Ti sobre stellaris launchpad que es lo mismo que el Tiva C series. Hay otros pero en estos se enseña en vivo a usar el entorno y el debuger.
Un par de aclaraciones
PF2 y PD7 están bloqueados por software... si quieres usarlos requiere de 3 lineas de codigo si quereis desbloquearlos.
PD0-PB6 y PD1-PB7 están puenteados directamente a través de una resistencia 0R. Si pensais usar estos pines debereis retirar las resistencias. La única función que se me ocurre que tenga esto es poder activar un bit y detectarlo en el otro lado. Pero son de estas cosas que fastidian hasta que lo detectas.
También un foro de soporte exclusivo a estos bichos
http://forum.stellarisiti.com/
saludos
-
Es dura la arena, pero tú eres buen gladiador. Enhorabuena por el logro.