Look at lines 12 and 439 ... This should be enough ! The size of prog memory is TOO SMALL, about one half of what it should be (in the compilation window appearing on top of screen).
In fact I saw an error in lines 594 and 596, but this should not cause the error message. Modifying an output bit on a port which is completely input only should modify the corresponding pullup.
Last edit: Bertrand BAROTH 2022-05-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The compiler expects, therefore assumes, that you use the DIR commands. Set DDRB directly (as you are) prevents the compiler from understanding the state of the port. The compiler does not reverse lookup the DDRB into DIR status per port.bit.
Use DIR to resolve to resolve the error message.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
But the method of "global setting DIR" should work all the way ! The compiler signals no errors for PortB.0 and PortB.1, which were "globally" set to outputs in line 443 ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you want to update the compiler to reverse lookup the direct setting of the port registers then this would be a hard task ( thinking that we have the potential about 10 different chip architectures and where the max port.bin combination would be Porta to Portg).
The architecture of the compiler today cannot reverse lookup the direct setting of the port registers, so, where this message is issue use DIR rather than direct setting of the port registers, or, do both - your call.
Re. PortB.0 and PortB.1 are set explicitly in your program and the compiler therefore can make a decision regarding the port direct.
Do not be shooting the messenger here. Because this is what it feels like from my point of view . Exclamation marks ... do not make me feel good about helping.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"Warning: Direction of pin PORTB.3 cannot be set automatically"
What does this mean ? (Version 1121)
Thanks for any answer ...
Last edit: Bertrand BAROTH 2022-05-17
The message ie correct. You need to set the DIR for that port.
Look at lines 12 and 439 ... This should be enough ! The size of prog memory is TOO SMALL, about one half of what it should be (in the compilation window appearing on top of screen).
In fact I saw an error in lines 594 and 596, but this should not cause the error message. Modifying an output bit on a port which is completely input only should modify the corresponding pullup.
Last edit: Bertrand BAROTH 2022-05-17
The compiler expects, therefore assumes, that you use the DIR commands. Set DDRB directly (as you are) prevents the compiler from understanding the state of the port. The compiler does not reverse lookup the DDRB into DIR status per port.bit.
Use DIR to resolve to resolve the error message.
But the method of "global setting DIR" should work all the way ! The compiler signals no errors for PortB.0 and PortB.1, which were "globally" set to outputs in line 443 ?
If you want to update the compiler to reverse lookup the direct setting of the port registers then this would be a hard task ( thinking that we have the potential about 10 different chip architectures and where the max port.bin combination would be Porta to Portg).
The architecture of the compiler today cannot reverse lookup the direct setting of the port registers, so, where this message is issue use DIR rather than direct setting of the port registers, or, do both - your call.
Re. PortB.0 and PortB.1 are set explicitly in your program and the compiler therefore can make a decision regarding the port direct.
Do not be shooting the messenger here. Because this is what it feels like from my point of view . Exclamation marks ... do not make me feel good about helping.