Jag använder MPLAB SIM och SCL för att debugga kommunikation mellan en pic och annat jox.
Det som stör mig är att stimulusen på en pinne ändras om man gör om ingången till en utgång i koden.
Om utgången är hög så får man en hög ingång när man byter till ingång igen.
Det är totalt ologiskt att en signal utifrån ska ändras av att pinnen blir utgång, en stimulus borde vara aktiverad tills en ny stimulus ändrar på den.
[EDIT] Frågan gäller även vanlig enkel stimulus där man klickar för att toggla mellan hög och låg på en ingång.
Om man använder stimulus för att påverka en ingång så borde ingången inte ändras av att man gör om ingången till utgång och tillbaka till ingång igen.
Vad tycker ni, har jag rätt eller fel (ska jag upplysa Microchip om "felet" så att dom kan fixa det) ?
SCL generator i MPLAB v7.22 suger
Jag har inte upplevt det som ett problem tidigare men nu debuggar jag ett open-collector interface som skiftar mellan ingång och utgång hela tiden.
Du har en poäng d99dan men det borde vara bättre i alla tänkbara fall om simulatorn alltid baserar ingångarna på stimulus, och inget hokus-pokus.
Eller har jag fel?
Du har en poäng d99dan men det borde vara bättre i alla tänkbara fall om simulatorn alltid baserar ingångarna på stimulus, och inget hokus-pokus.
Eller har jag fel?
Om du lägger en stimulus till en ledning så borde ju simulatorn betrakta den som aktivt driven kan man tycka ja, det går inte att välja hur den ska driva stimuli. Jag har ingen aning om på vilken nivå den simulerar men en lösning kanske kan vara att lägga till aktiv drivning av stimulit i modellen. Alltså inte låta stimuli gå direkt ill ingången utan driva den via en lämplig transistor mot jord eller Vcc.
Man har ingen möjlighet att simulera med komponenter (vad jag vet) i MPLAB.
Ide'n att gå via något annat till ingången har jag tänkt på och provat men jag har inte hittat någon variant som löser problemet.
(Det är inte omöjligt att simulera med dom funktioner som finns men det blir väldigt omständigt när all stimulus måste komma på exakt rätt ställe i koden,dvs när pinnarna är ingångar)
Ide'n att gå via något annat till ingången har jag tänkt på och provat men jag har inte hittat någon variant som löser problemet.
(Det är inte omöjligt att simulera med dom funktioner som finns men det blir väldigt omständigt när all stimulus måste komma på exakt rätt ställe i koden,dvs när pinnarna är ingångar)