Posté le 23/12/2019 09:57
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 54 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 23/12/2019 10:16 | #
Tu as bien rtc_get_time(), qui ne renvoie pas la même valeur à chaque exécution (?) mais bien l'heure actuelle qui augmente toutes les secondes.
Sinon tu peux aller chercher le ticks directement :
int rtc_get_ticks(void)
{
if(isSH3()) return SH7705_RTC.R64CNT;
else return SH7305_RTC.R64CNT;
}
Citer : Posté le 23/12/2019 10:25 | #
Merci beaucoup.
Concernant rtc_get_time, je me suis trompé dans l'utilisation...
Citer : Posté le 23/12/2019 10:27 | #
Les syscalls concernant la RTC diffèrent entre la Graph90+e et la Graph35+.
Voilà la liste des appels système fourni par Casio pour la RTC :
* 0x02BF : void RTC_Reset(unsigned int mode)
* 0x02C0 : void RTC_GetTime(unsigned int*hour, unsigned int*minute, unsigned int*second, unsigned int*millisecond)
* 0x02C1 : int RTC_GetTicks(void)
* 0x02C2 : int RTC_Elapsed_ms(int start_value, int duration_in_ms)
* 0x11DD : void RTC_TriggerAlarm(void)
* 0x11DE : void RTC_SetDateTime(unsigned char timestr[7])
* 0x11E2 : void RTC_GetDateTime(unsigned char timestr[8])
Je te conseille de regarder la documentation de SimLo à ce sujet
Citer : Posté le 23/12/2019 10:42 | #
Je précise que l'utilisation de syscalls avec gint est safe pour une certaine classe de syscalls et complètement imprévisible pour le reste. Ici tout marchera probablement sauf l'alarme. Mais de façon générale, mieux vaut utiliser ce qui est implémenté dans la lib, qui abstrait SH3 vs SH4, Graph mono versus Graph 90, et les problèmes d'interruptions qui peuvent se poser.
Citer : Posté le 15/09/2024 22:51 | #
This has changed a little since 2019. Now you use rtc_ticks():
#include <gint/rtc.h>
uint32_t seed = rtc_ticks();
For example:
static uint32_t xorshift32(void)
{
while (rng_state == 0)
rng_state = rtc_ticks();
uint32_t x = rng_state;
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
rng_state = x;
return x;
}
“They call me the king of the spreadsheets, got 'em all printed out on my bedsheets.” — “Weird Al” Yankovic