X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fattiny%2Fao_async.c;h=f7a29d3b799f88e0ab71dd2e92f4db3f167d4e30;hb=HEAD;hp=f64f7bde41e626218669f7cae25d8789c5812f41;hpb=4211c59e585545817b3cac02b41bb73106d6403e;p=fw%2Faltos diff --git a/src/attiny/ao_async.c b/src/attiny/ao_async.c index f64f7bde..945f4b14 100644 --- a/src/attiny/ao_async.c +++ b/src/attiny/ao_async.c @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -32,7 +33,7 @@ ao_async_start(void) void ao_async_stop(void) { - LED_PORT &= ~(1 << AO_LED_SERIAL); + LED_PORT &= (uint8_t) ~(1 << AO_LED_SERIAL); } void @@ -44,11 +45,11 @@ ao_async_byte(uint8_t byte) uint8_t bit; uint8_t w_hi, w_lo; - /* start data stop */ - w = (0x000 << 0) | (byte << 1) | (0x001 << 9); + /* start data stop */ + w = (uint16_t) ((0x000 << 0) | (byte << 1) | (0x001 << 9)); - w_hi = w >> 8; - w_lo = w; + w_hi = (uint8_t) (w >> 8); + w_lo = (uint8_t) w; ao_arch_block_interrupts();