 Bienvenue à un nouveau lab pour notre SMPH-2C0 MOOC. Dans cet lab, nous allons regarder les modèles hauts de la mode SMPH-2C0. Nous allons commencer par regarder les modèles hauts de la mode SMPH-2C0. Dans cet lab, nous allons utiliser le mode STOP et, pour réveiller, nous allons utiliser l'alarmement RTC et aussi les interruptions externales. Nous allons commencer en mode RUN pour 5 secondes, donc indiqué par une LED grise. Et ensuite, nous allons entrer dans le mode STOP. Donc, quand le système existe dans le mode STOP, nous allons retourner vers le mode RUN et cela sera indiqué par une LED grise flashée. Dans le SMPH-2C0, il y a un schéma d'attention simple, avec le mode RUN, le mode STOP, le stand-by et le shutdown. Alors, nous allons commencer par le mode RUN, donc nous allons regarder la consommation de pouvoir pour les modèles différents. Donc, le mode RUN, donc comme vous pouvez le voir, une très excellente consommation de pouvoir dynamique avec 80 microamps permeurs. Dans le mode STOP, nous pouvons retourner vers 80 microamps. Et pour le temps de réveillement, 2,7 microseconds, donc très vite. Pour la source de réveillement, donc nous avons RTC, GPIO, donc avec excellent interruptions, I-square-C et UART. En stand-by, nous pouvons retourner vers 8 microamps, donc très low power mode. Mais le temps de réveillement est un peu plus long, donc dans le mode STOP, avec 23 microseconds. La source de réveillement sont le BOR, l'indépendant watchdog et quelques IOs de réveillement. Le mode la plus basse est le shutdown, où nous pouvons retourner vers 20 nanoamps, donc c'est incroyable. Et le temps de réveillement est un peu plus long dans le stand-by, avec 385 microseconds. Pour la source de réveillement, donc nous avons la pin de réveillement et quelques IOs. Nous allons en participer à un mode, qui s'appelle le mode STOP. Donc c'est le mode que nous allons utiliser dans ce labo. Le mode STOP est le mode la plus basse avec une full retention et seulement 2,7 microseconds de temps de réveillement à 12 MHz. Le contenu de la ram et tous les registres de réveillement sont réservés dans le mode STOP. Toutes les clés de vitesse sont arrêtées dans le mode STOP. Le 32 kHz external oscillator et le 32 kHz internal oscillator peuvent être élevés. Beaucoup de réveillements peuvent être actifs et se réveillent dans le mode STOP, comme l'I square C ou le UART. Le temps de réveillement, donc ce sera 2,7 microseconds si vous réveillez dans la ram et 5,9 microseconds de réveillement. Donc il y a un petit peu plus d'explanation sur le mode STOP. Donc ici, nous allons commencer par ce diagramme là-bas. Actifs cellules. Comme vous pouvez le voir, le main régulateur est actif. Le UART, l'I square C est actif donc vous pouvez réveiller de ces deux réveillements. Et les GPIOs. Donc, spécialement, les GPIOs peuvent être configurés par l'interrupte external pour réveiller le système du mode STOP. Et c'est ce que nous allons aussi utiliser ici. Ensuite, vous avez la préservation du SRAM, donc la préservation de l'SRAM, 6 ou 12 kHz, selon le C011 ou C031. Les registres backup sont présents. LSI et LSE sont actifs. CSS et LSE sont actifs. Et les clocs d'individuels peuvent aussi être activés. Maintenant, pour ce qui a été turn-off, vous avez le CPU qui est off dans ce mode, dans le mode STOP. Et aussi, les clocs de hausse, comme HSI 48 et HSI et CSS qui sont turn-off ou qui sont actifs dans un mode power-down. Maintenant, si nous regardons ici, nous allons regarder le ressort de ressort. Le ressort de ressort, bien sûr, c'est l'envers T-pin, donc c'est le ressort de ressort de l'SN42C0, le ressort de burnout, le ressort de power-down, le ressort de POR, donc le ressort de power-on, et l'indépendant Watchdog. Pour le ressort de wake-up, il y a ceci ici, donc le ressort de wake-up, RTC, LSE, le CSS de LSE, donc la sécurité de l'on, tous les GPIOs qui peuvent être configurés comme EXTI ou créer des événements, utiliser l'art et l'ISQC. Maintenant, nous allons regarder le RTC. Nous allons regarder l'envers de l'RTC. Donc, le RTC Peripheral features un calendare ultra-low-power et une alarme qui roule en sleep et en stop mode. Nous allons utiliser le RTC dans ce lab, utilisez le RTC alarme pour wake-up en stop mode. Le RTC consomme seulement 1,13 microampes par maigrette. Le calendare est donné en decimale binary codée, aussi connu en format BCD. Donc, cela réduit la charge de software, spécialement quand vous devez détenir le temps et le temps. Nous allons commencer le lab. Donc, en utilisant votre QID SMP, créé un nouveau projet, file, nouveau, SMP42, projet, sélectionnez le SMP42, C0, 31, C6, T6, sélectionnez ici aussi. Et puis, prenez la prochaine. Maintenant, nous allons donner un nom à un projet. Donc, je vais le nommer SMP42, en bloc-power. Alors, vous pouvez donner le nom que vous voulez. Et puis, clique, finis. Nous allons commencer par configurer le RTC. Donc, le cloc de temps réel. Donc, pour faire cela, vous allez sous les timers et puis sélectionnez RTC. Et puis, première, vous activerez le cloc. Donc, le cloc source. Ensuite, vous activerez le calendare que vous utilisez. Et puis, sélectionnez l'alarmement, vous savez que ce sera l'alarmement interne, A, qui sera la source de notre waking-up de stop-mode. Donc, de la pinaute et de la configuration tab, sélectionnez les timers, sélectionnez RTC. Et maintenant, nous allons activer le cloc source. Nous allons activer le calendare. Et aussi, sélectionnez l'alarmement A, pour être l'alarmement interne. Nous allons également déterminer l'alarmement interne. Donc, nous allons entrer la stop-mode en utilisant WFI. Donc, ce sera un interrupte qui va wake-up le système. Pour activer l'interrupte, l'interrupte va à des étapes viques, ici, et l'envoie l'interrupte. Maintenant, nous allons aller au parameter des étapes et configurer le RTC. Donc, les calendaires et aussi l'alarmement après. Donc, pour le calendare, vous allez sélectionner le temps. Donc, dans mon exemple, je vais sélectionner 4.30 p.m. OK. Parameter des étapes. Donc, nous allons faire un espace. Un petit peu comme ça. OK. Un petit peu plus. Alors, la première chose, nous allons prendre le calendare. Donc, le premier temps. Donc, je vais mettre 4.30 p.m. donc, maintenant, 30, là-bas. Et c'est 0 secondes. Donc, nous allons sélectionner le date du calendare dans le format BCD. Donc, ce, dans mon exemple, va être friday, april 7, 2023. Je vais scroller. Maintenant, nous allons regarder le date. Donc, je vais sélectionner. Alors, je vais parler de friday, april 7, 2023. La dernière étape pour le BCD, nous allons mettre l'alarmée. Donc, dans mon cas, friday à 4.30 p.m. et 15 secondes. Donc, 15 secondes après le temps du calendare. Donc, maintenant, nous allons retirer cette information. Juste, ici. Nous allons retirer ça pour nous donner plus de space. Ok. Donc, nous avons dit 4.30 p.m. donc, c'est le même que avant, mais maintenant, 15 secondes plus tard. Donc, nous allons mettre 15 secondes, là-bas. Et, un autre change, nous allons changer le date d'alarmée pour être un weekday, qui est friday, dans notre cas, parce que, vous savez, nous avons l'alarmée comme ça, plus tard, dans le calendare. Dans le pinout, nous allons maintenant ajouter 2 IUs. Donc, configurer 2 IUs. PC13, connecté au bouton de l'usage, sera configuré comme un GPIO extérieur interprète. Donc, chaque fois que nous pressons le bouton, nous allons réveiller de stop mode, basically. Et puis, nous allons aussi utiliser l'LED, la grande LED qui est dans le code dans le mode de course, ou au bouton de stop mode, ou au bouton de stop mode. Donc, nous allons l'utiliser dans l'LED. Donc, configurer PFI comme output GPIO. Donc, dans le pinout, nous allons configurer PC13 comme GPIO EXTI13, extérieur interprète. Et puis, aussi, PFI comme output GPIO pour l'LED. Donc, n'oubliez pas d'enlever l'LED 4-15 interprète. Donc, pour l'LED EXTI13. Donc, pour faire ça, vous allez dans la configuration pinout. Puis, NVIC sous les systèmes. Et n'oubliez pas ou, vérifiez le bouton pour l'LED 4-15. Ok. Donc, sous le système, là-bas. Donc, c'est en fait le corps système. Et, n'oubliez pas d'enlever l'LED 4-15. Et ici, l'LED 4-15. Donc, comme vous pouvez le voir, vous avez aussi l'RTC que nous avons évoqués avant. Évoqués là-bas. Donc, l'RTC intervient. Nous pouvons maintenant générer le code. Alors, sauvez votre projet et générer le code. Oui, on va à la perspective CNC parce que nous allons ajouter un code. Ok, la première partie de la code sera ajoutée dans la section 2 de main.c. Donc, la première sera dans le mode Run. Donc, indiqué par tourner sur l'LED pour 5 secondes et ensuite évoquer. Alors, nous allons entrer le mode Stop. Tout d'abord, nous suspensons le Tick. Et ensuite, nous utilisons la fonction Hall qui est Power Interstop Mode avec 2 paramètres. Donc, avec le Power main regulator ON et aussi la façon d'entrer. Donc, attendez pour interrompre. Quand nous réveillons, nous allons résumer le Tick. Donc, nous allons ajouter la code Hall Resume Tick. Donc, le code pour être ajouté peut être trouvé dans la description de cette vidéo. Dans main.c, nous allons aller au code Begin 2 de la section ici et ajouter la première partie de la code. Maintenant, la deuxième partie de la code sera ajoutée de votre main. Donc, ce sera quand la micro-contraire va se réveiller de la stop mode et nous allons juste tourgner la LED chaque seconde. Dans le bloc blanc ici, nous allons ajouter la deuxième partie de la code qui est la tourgner de la LED chaque seconde quand nous réveillons de la stop mode. Vous pouvez maintenant construire le projet. Une fois construite, assurez-vous que votre bord aussi est connecté. Nous pouvons maintenant flash le projet code. Donc, pour le faire, alors qu'on ne va pas entrer dans notre debug, comme nous l'avons fait avant, nous allons juste flash dans notre code. Donc, pour faire ça, vous devez juste presser sur cette icône là-bas. Ok. Et puis, nous allons flash le code ici. Le code a été flashé correctement, donc programmé dans le flash de la micro-contraire. Et maintenant, nous pouvons essayer de exécuter notre code et tester. Nous allons exécuter notre code. Alors, nous allons réveiller avant. Donc, la LED est en place pour 5 secondes. Donc, c'est en mode Run. Maintenant, nous entrons dans la stop mode. Nous attendons pour l'alarmée ATC pour réveiller le système. Le alarmée ATC est réveillée. Et maintenant, le système est en mode Run. Exécuter, vous savez, avec le bloc de l'LED nous allons voir la deuxième source de wake-up. Donc, nous réveillons le code. Nous pressons le bouton bleu. Rélease. Donc, nous sommes en mode Run pour 5 secondes. Nous entrons dans la stop mode. Et maintenant, pour réveiller, pressons le bouton de utilisation. Cela sera réveillé votre micro-contraire. Et maintenant, nous exécutons la LED avec le bloc de l'LED chaque seconde. Donc, cela a été très bien, je pense un exemple pour vous montrer les modes de mode bas de l'ASM42. Et j'espère que vous l'avez appris beaucoup. Donc, merci.