generic module HplAtm128GeneralIOSlowPinP (uint8_t port_addr,
uint8_t ddr_addr,
uint8_t pin_addr,
- uint8_t bit)
+ uint8_t bit) @safe()
{
provides interface GeneralIO as IO;
}
implementation
{
-#define pin (*(volatile uint8_t *)pin_addr)
-#define port (*(volatile uint8_t *)port_addr)
-#define ddr (*(volatile uint8_t *)ddr_addr)
+#define pin (*TCAST(volatile uint8_t * ONE, pin_addr))
+#define port (*TCAST(volatile uint8_t * ONE, port_addr))
+#define ddr (*TCAST(volatile uint8_t * ONE, ddr_addr))
inline async command bool IO.get() { return READ_BIT (pin, bit); }
inline async command void IO.set() { atomic SET_BIT (port, bit); }