Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LGstaandart by
Diff: host/Source/App/console.c
- Revision:
- 23:12e6183f04d4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/host/Source/App/console.c Wed Feb 03 10:44:42 2016 +0300
@@ -0,0 +1,145 @@
+#include "console.h"
+#include "lpc17xx.h"
+#include "CyclesSync.h"
+#define FOSC 12000000
+
+#define FCCLK (FOSC * 8)
+
+#define FCCO (FCCLK * 3)
+
+#define FPCLK (FCCLK / 4)
+
+#define UART0_BPS 38400
+
+
+
+unsigned int BuffOut[1024];
+
+unsigned int InputIndexBO;
+unsigned int OutputIndexBO;
+
+
+
+unsigned int BuffIn[1024];
+
+unsigned int InputIndexBI;
+unsigned int OutputIndexBI;
+
+//unsigned int OLD_OutputIndex;
+
+void UART0_Init_m (void)///èíèéöèàëèçàöèÿ íóëåâîãî óàðòà
+{
+ uint16_t usFdiv;
+ /* UART0 */
+ LPC_PINCON->PINSEL0 |= (1 << 4); /* Pin P0.2 used as TXD0 (Com0) */
+ LPC_PINCON->PINSEL0 |= (1 << 6); /* Pin P0.3 used as RXD0 (Com0) */
+
+ LPC_UART0->LCR = 0x83;
+ usFdiv = (FPCLK / 16) / UART0_BPS;
+ LPC_UART0->DLM = usFdiv / 256;
+ LPC_UART0->DLL = usFdiv % 256;
+ LPC_UART0->LCR = 0x03;
+ LPC_UART0->FCR = 0x06;
+}
+
+int UART0_SendByte_m (int ucData)
+{
+ //while (!(LPC_UART0->LSR & 0x20)){};
+
+ return (LPC_UART0->THR = ucData);
+}
+void ClearBuffout(void) //î÷èñòêà áóôåðà íà âûäà÷ó(ñáðîñ óêàçàòåëåé)
+{
+ InputIndexBO=0;
+ OutputIndexBO=0;
+}
+void SendToBuffByte(unsigned int *input) // çàïèñü â áóôåð íà âûäà÷ó îäíîãî çíà÷åíèÿ èíò(áåççíàêîâîãî)
+{
+ InputIndexBO++;
+ InputIndexBO &= 0x3ff;
+ BuffOut[InputIndexBO]=*input;
+}
+void SendToBuff(unsigned char *input, unsigned int size)//çàïèñü íåñêîëüêèõ çíà÷åíèé ñ óêàçàíèåì ðàçìåðíîñòè çàïèñè â áóôåð íà âûäà÷ó.
+{
+ unsigned int i;
+ for(i=0;i<size;i++)
+ {
+ InputIndexBO++;
+ InputIndexBO &= 0x3ff;
+ BuffOut[InputIndexBO]=*input++;
+ }
+}
+
+
+void SendToBuffStr(char *s)//çàïèñü ñòðîêè (êîíåö îòñëåæèâàåòñÿ ïî íóëþ) â áóôåð íà âûäà÷ó.
+{
+ while (*s != 0)
+ {
+ InputIndexBO++;
+ InputIndexBO &= 0x3ff;
+ BuffOut[InputIndexBO]=*s++;
+ }
+}
+
+
+void TakeFromBuff(void)//ïåðåäà÷à èç áóôåðà íà âûäà÷ó.
+{
+ if((OutputIndexBO != InputIndexBO) && (LPC_UART0 -> LSR & 0x20))
+ {
+ OutputIndexBO++;
+ OutputIndexBO &= 0x3ff;
+ LPC_UART0->THR = BuffOut[OutputIndexBO];
+ }
+}
+
+
+
+/*
+void UART0_SendString (char *s)
+{
+ while (*s != 0)
+ {
+ InputIndex++;
+ InputIndex &= 0x3ff;
+ BuffOut[InputIndex]=*s++;
+ }
+}
+*/
+
+void ClearBuffIn(void)
+{
+ InputIndexBI=0;
+ OutputIndexBI=0;
+}
+
+void BuffDataReady(void)
+{
+ if((OutputIndexBI != InputIndexBI) && (!(LPC_UART0 -> LSR & 0x01)))
+ {
+
+ }
+}
+void ReadDataInBuff(void)
+{
+ while (LPC_UART0->LSR & 0x01)
+ {
+ BuffIn[InputIndexBI] = LPC_UART0->RBR;
+ InputIndexBI++;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
