For XMEGA (and soon for UPDI too) certain baud rates are exported
Now it is possible that these speeds are not achievable on some processors and configurations.
The question is what to do if this is the case.
1. Issue an error saying that these speeds are not achievable in this configuration
2. Go as fast as is possible (which could be significantly slower
3. As 2 but issue a warning (rather than an error), but since the default is not to show warning this is not safe.
I prefer option 1, and unless anyone convinces me otherwise, that is the option I will adopt. This may affect existing XMEGA programs of course...
Any comments welcome.
========================================================
ür XMEGA (und bald auch für UPDI) werden bestimmte Baudraten exportiert
Es ist nun möglich, dass diese Geschwindigkeiten bei einigen Prozessoren und Konfigurationen nicht erreicht werden können.
Die Frage ist, was in diesem Fall zu tun ist.
1. Eine Fehlermeldung ausgeben, die besagt, dass diese Geschwindigkeiten in dieser Konfiguration nicht erreicht werden können
2. So schnell wie möglich arbeiten (was deutlich langsamer sein könnte)
3. Wie 2, aber Ausgabe einer Warnung (statt eines Fehlers), aber da die Standardeinstellung keine Warnung anzeigt, ist dies nicht sicher.
Ich bevorzuge Option 1, und wenn mich niemand vom Gegenteil überzeugt, werde ich diese Option übernehmen. Das kann natürlich Auswirkungen auf bestehende XMEGA-Programme haben...
Alle Kommentare sind willkommen.
Code
TWI_BR100 : byte = nn; // nn = prescaler value for 100kBits/sec
TWI_BR400 : byte = nn; // nn = prescaler value for 400kBits/sec
TWI_BR500 : byte = nn; // nn = prescaler value for 500kBits/sec
TWI_BR600 : byte = nn; // nn = prescaler value for 600kBits/sec
TWI_BR800 : byte = nn; // nn = prescaler value for 800kBits/sec
TWI_BR400 : byte = nn; // nn = prescaler value for 400kBits/sec
TWI_BR500 : byte = nn; // nn = prescaler value for 500kBits/sec
TWI_BR600 : byte = nn; // nn = prescaler value for 600kBits/sec
TWI_BR800 : byte = nn; // nn = prescaler value for 800kBits/sec
Now it is possible that these speeds are not achievable on some processors and configurations.
The question is what to do if this is the case.
1. Issue an error saying that these speeds are not achievable in this configuration
2. Go as fast as is possible (which could be significantly slower
3. As 2 but issue a warning (rather than an error), but since the default is not to show warning this is not safe.
I prefer option 1, and unless anyone convinces me otherwise, that is the option I will adopt. This may affect existing XMEGA programs of course...
Any comments welcome.
========================================================
ür XMEGA (und bald auch für UPDI) werden bestimmte Baudraten exportiert
Code
TWI_BR100 : byte = nn; // nn = Vorteilerwert für 100kBits/sec
TWI_BR400 : byte = nn; // nn = Vorteilerwert für 400kBits/sec
TWI_BR500 : byte = nn; // nn = Vorteilerwert für 500kBits/sec
TWI_BR600 : byte = nn; // nn = Vorteilerwert für 600kBits/sec
TWI_BR800 : byte = nn; // nn = Vorteilerwert für 800kBits/sec
TWI_BR400 : byte = nn; // nn = Vorteilerwert für 400kBits/sec
TWI_BR500 : byte = nn; // nn = Vorteilerwert für 500kBits/sec
TWI_BR600 : byte = nn; // nn = Vorteilerwert für 600kBits/sec
TWI_BR800 : byte = nn; // nn = Vorteilerwert für 800kBits/sec
Es ist nun möglich, dass diese Geschwindigkeiten bei einigen Prozessoren und Konfigurationen nicht erreicht werden können.
Die Frage ist, was in diesem Fall zu tun ist.
1. Eine Fehlermeldung ausgeben, die besagt, dass diese Geschwindigkeiten in dieser Konfiguration nicht erreicht werden können
2. So schnell wie möglich arbeiten (was deutlich langsamer sein könnte)
3. Wie 2, aber Ausgabe einer Warnung (statt eines Fehlers), aber da die Standardeinstellung keine Warnung anzeigt, ist dies nicht sicher.
Ich bevorzuge Option 1, und wenn mich niemand vom Gegenteil überzeugt, werde ich diese Option übernehmen. Das kann natürlich Auswirkungen auf bestehende XMEGA-Programme haben...
Alle Kommentare sind willkommen.