Skip to content

Instantly share code, notes, and snippets.

@eggman
Created June 25, 2016 04:48
Show Gist options
  • Save eggman/7b365fa7c49c8d8ac9425555c1e8e6a9 to your computer and use it in GitHub Desktop.
Save eggman/7b365fa7c49c8d8ac9425555c1e8e6a9 to your computer and use it in GitHub Desktop.
ttbasic ameba
#include "rtl8195a.h"
typedef enum {
PORT_V = 11,
} GPIO_PORT;
typedef enum {
AD_1 = (PORT_V<<4|1),
AD_2 = (PORT_V<<4|2),
AD_3 = (PORT_V<<4|3),
} PinName;
struct analogin_s {
SAL_ADC_MNGT_ADPT SalADCMngtAdpt;
SAL_ADC_HND_PRIV SalADCHndPriv;
HAL_ADC_INIT_DAT HalADCInitData;
HAL_ADC_OP HalADCOp;
IRQ_HANDLE ADCIrqHandleDat;
HAL_GDMA_ADAPTER HalADCGdmaAdpt;
HAL_GDMA_OP HalADCGdmaOp;
IRQ_HANDLE ADCGdmaIrqHandleDat;
SAL_ADC_USER_CB SalADCUserCB;
SAL_ADC_USERCB_ADPT SalADCUserCBAdpt[SAL_ADC_USER_CB_NUM];
};
#define STR_EDITION "AMEBA"
void c_putch(char c) {
HalSerialPutcRtl8195a((u8) c);
}
char c_getch(void) {
return (char) HalSerialGetcRtl8195a(1);
}
char c_kbhit(void) {
return (HAL_UART_READ8(UART_LINE_STATUS_REG_OFF) & 0x01);
}
short random(short value)
{
analogin_t adc;
unsigned short adcdat;
analogin_init(&adc, AD_2);
adcdat = analogin_read_u16(&adc);
return (short) (adcdat % value);
}
int main(void)
{
basic();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment