pinsh8051/term.c

73 lines
904 B
C
Raw Permalink Normal View History

2024-05-26 15:48:55 +02:00
#include "mc8051fun/mc8051fun.h"
#include "pinsh.h"
#define IMP1 P0_6
#define IMP2 P0_7
int pinsh_go=0;
void uart_handler() __interrupt 4
{
pinsh_uart_irq_handler();
/*
if (RI) {
unsigned char b = SBUF;
if (b=='\r'){
pinsh_go=1;
} else {
SBUF=b;
if (pinsh_buf_pos < PINSH_BUF_SIZE-1){
pinsh_buf[pinsh_buf_pos++]=b;
pinsh_buf[pinsh_buf_pos]=0;
}
}
RI=0;
}
*/
}
#define BAUD 9600L
#define TBBAUD 256L-FOSC/12L/(BAUD*16L)
void main()
{
uart_init(9600,0);
ES=1;
EA=1;
uart_send_str("Hello!\r\n");
pinsh_buf_pos=0;
int pb=0;
pinsh_output_chr = uart_send_chr;
while(1){
// while(1);
while(!pinsh_go);
pinsh_exec(pinsh_buf);
pinsh_go=0;
pinsh_buf_pos=0;
/*
if (pb!=pinsh_buf_pos){
pb=pinsh_buf_pos;
uart_send_str("\r\n");
for(int i=0; i<pinsh_buf_pos; i++){
uart_send_str("*");
}
uart_send_str("\r\n");
}
*/
}
}