<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://mars.merhot.dk/w/index.php?action=history&amp;feed=atom&amp;title=MSP430_uart</id>
		<title>MSP430 uart - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://mars.merhot.dk/w/index.php?action=history&amp;feed=atom&amp;title=MSP430_uart"/>
		<link rel="alternate" type="text/html" href="http://mars.merhot.dk/w/index.php?title=MSP430_uart&amp;action=history"/>
		<updated>2026-05-21T15:40:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>http://mars.merhot.dk/w/index.php?title=MSP430_uart&amp;diff=40047&amp;oldid=prev</id>
		<title>Heth: /* Header file */</title>
		<link rel="alternate" type="text/html" href="http://mars.merhot.dk/w/index.php?title=MSP430_uart&amp;diff=40047&amp;oldid=prev"/>
				<updated>2018-12-04T12:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Header file&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:02, 4 December 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l101&quot; &gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Header file===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Header file===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=c&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=c&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;xtern &lt;/del&gt;void uart_init( );&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;extern &lt;/ins&gt;void uart_init( );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extern unsigned char cin( void );&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extern unsigned char cin( void );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extern unsigned char cin_nonblocked( void );&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extern unsigned char cin_nonblocked( void );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Heth</name></author>	</entry>

	<entry>
		<id>http://mars.merhot.dk/w/index.php?title=MSP430_uart&amp;diff=40046&amp;oldid=prev</id>
		<title>Heth: Created page with &quot;  =MSP430F5529= ==Polled operation example== ===Source file=== &lt;source lang=c&gt; #include &lt;msp430.h&gt; #include &lt;stdio.h&gt; #include &lt;stdarg.h&gt; #include &quot;UARTpoll.h&quot;  // USART poll...&quot;</title>
		<link rel="alternate" type="text/html" href="http://mars.merhot.dk/w/index.php?title=MSP430_uart&amp;diff=40046&amp;oldid=prev"/>
				<updated>2018-12-04T06:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;  =MSP430F5529= ==Polled operation example== ===Source file=== &amp;lt;source lang=c&amp;gt; #include &amp;lt;msp430.h&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdarg.h&amp;gt; #include &amp;quot;UARTpoll.h&amp;quot;  // USART poll...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=MSP430F5529=&lt;br /&gt;
==Polled operation example==&lt;br /&gt;
===Source file===&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
#include &amp;lt;msp430.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdarg.h&amp;gt;&lt;br /&gt;
#include &amp;quot;UARTpoll.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// USART poll&lt;br /&gt;
// Using USCI_A0 as UART &lt;br /&gt;
// Setting: 9600 baud, 8 bit, no parity&lt;br /&gt;
&lt;br /&gt;
//Initialize USCI_A0 as UART - polled operation&lt;br /&gt;
long count;&lt;br /&gt;
&lt;br /&gt;
char bufout[256];&lt;br /&gt;
void uart_init( ) {&lt;br /&gt;
&lt;br /&gt;
  P4SEL = BIT4+BIT5;                        // P3.4,5 = USCI_A0 TXD/RXD&lt;br /&gt;
  UCA1CTL1 |= UCSWRST;                      // **Put state machine in reset**&lt;br /&gt;
  UCA1CTL1 |= UCSSEL_1;                     // CLK = ACLK&lt;br /&gt;
  UCA1BR0 = 0x03;                           // 32kHz/9600=3.41 (see User's Guide)&lt;br /&gt;
  UCA1BR1 = 0x00;                           //&lt;br /&gt;
  UCA1MCTL = UCBRS_3+UCBRF_0;               // Modulation UCBRSx=3, UCBRFx=0&lt;br /&gt;
  UCA1CTL1 &amp;amp;= ~UCSWRST;                     // **Initialize USCI state machine**&lt;br /&gt;
   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cin - Character in&lt;br /&gt;
// Poll USCI_A0 receive register until character received.&lt;br /&gt;
// Parameters: none&lt;br /&gt;
// Returns: unsigned char - character received&lt;br /&gt;
unsigned char cin( void ) {&lt;br /&gt;
  while ( !(0x01 &amp;amp; UCA1IFG) );&lt;br /&gt;
  return(UCA1RXBUF);&lt;br /&gt;
}&lt;br /&gt;
//cin_nonblocked&lt;br /&gt;
//If character received - return it&lt;br /&gt;
//Else return 0x00 - No character received&lt;br /&gt;
 unsigned char cin_nonblocked( void ) {&lt;br /&gt;
  if ( 0x01 &amp;amp; UCA1IFG ) {&lt;br /&gt;
    return(UCA1RXBUF);&lt;br /&gt;
  } else {&lt;br /&gt;
    return(0x00);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//cou - Character out&lt;br /&gt;
// Transmit character poll USCI_A0 transmit register until ready.&lt;br /&gt;
// Parameters: Character to transmit&lt;br /&gt;
// Returns: none&lt;br /&gt;
void cout( unsigned char c ) {&lt;br /&gt;
  while ( !(0x02 &amp;amp; UCA1IFG) &amp;amp;&amp;amp; (count++ &amp;gt; 0) );&lt;br /&gt;
  UCA1TXBUF = c;&lt;br /&gt;
}&lt;br /&gt;
int putchar( int charout ) {&lt;br /&gt;
  cout( (char) charout );&lt;br /&gt;
  return(charout);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int __read( void ) {&lt;br /&gt;
  int charin;&lt;br /&gt;
  charin = (int) cin();&lt;br /&gt;
  if ( (charin == 0x0d ) || (charin == 0x0a) ) { //  CR or LF&lt;br /&gt;
    putchar( 0x0d );    // Output CR+LF&lt;br /&gt;
    putchar( 0x0a );&lt;br /&gt;
    return( 0x0a );     // Return LF&lt;br /&gt;
  } else {  // Else other character &lt;br /&gt;
    putchar( charin );&lt;br /&gt;
    return( charin );&lt;br /&gt;
  }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Console cursor to position x,y&lt;br /&gt;
void console_gotoxy(int x, int y) {&lt;br /&gt;
  printf(&amp;quot;\033[%u;%uH&amp;quot;,x,y);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void console_cls( void ) {&lt;br /&gt;
  printf(&amp;quot;%s%s&amp;quot;,CLS,HOME);&lt;br /&gt;
}&lt;br /&gt;
void console_reset( void ) {&lt;br /&gt;
  printf(&amp;quot;\033c&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
//Set textcolor 0 - 255&lt;br /&gt;
void console_normaltext() {&lt;br /&gt;
  printf(&amp;quot;\033[0m&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
//Set textcolor 0 - 255&lt;br /&gt;
void console_textcolor( unsigned char color) {&lt;br /&gt;
  printf(&amp;quot;\033[38;5;%um&amp;quot;, color );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Set background color 0 - 255&lt;br /&gt;
void console_backgroundcolor( unsigned char color) {&lt;br /&gt;
  printf(&amp;quot;\033[48;5;%um&amp;quot;, color );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Header file===&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
xtern void uart_init( );&lt;br /&gt;
extern unsigned char cin( void );&lt;br /&gt;
extern unsigned char cin_nonblocked( void );&lt;br /&gt;
extern void cout( unsigned char c );&lt;br /&gt;
extern int putchar( int charout );&lt;br /&gt;
//extern int getchar( void );&lt;br /&gt;
extern int __read( void );&lt;br /&gt;
extern void console_gotoxy(int x, int y);&lt;br /&gt;
extern int printfxy(int x, int y, const char* format, ...);&lt;br /&gt;
extern void console_cls( void );&lt;br /&gt;
extern void console_reset( void );&lt;br /&gt;
extern void console_normaltext();&lt;br /&gt;
extern void console_textcolor( unsigned char color);&lt;br /&gt;
extern void console_backgroundcolor( unsigned char color);&lt;br /&gt;
&lt;br /&gt;
//Some vt100 Escape sequences&lt;br /&gt;
#define OFF             &amp;quot;\033[0m&amp;quot;&lt;br /&gt;
#define BOLD            &amp;quot;\033[1m&amp;quot;&lt;br /&gt;
#define LOWINTENS       &amp;quot;\033[2m&amp;quot;&lt;br /&gt;
#define ITALIC          &amp;quot;\033[3m&amp;quot;&lt;br /&gt;
#define UNDERLINE       &amp;quot;\033[4m&amp;quot;&lt;br /&gt;
#define BLINK           &amp;quot;\033[5m&amp;quot;&lt;br /&gt;
#define REVERSE         &amp;quot;\033[7m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// POSITIONING&lt;br /&gt;
#define CLS             &amp;quot;\033[2J&amp;quot;       // Esc[2J Clear entire screen&lt;br /&gt;
//#define GOTOXY(x,y)    &amp;quot;\033[x;yH&amp;quot;     // Esc[Line;ColumnH&lt;br /&gt;
#define GOTOXY(x,y)    &amp;quot;[x;y]&amp;quot;     // Esc[Line;ColumnH&lt;br /&gt;
#define HOME            &amp;quot;\033[H&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define CUD(x)          &amp;quot;\033[xB&amp;quot;      // Move cursor up n lines&lt;br /&gt;
&lt;br /&gt;
//ASC-II box drawing symbols - single line&lt;br /&gt;
#define BOXV      179      // Vertical Line |&lt;br /&gt;
#define BOXVL     180      // Vertical line left line -|&lt;br /&gt;
#define BOXUPC    191      // Upper rigth corner -.&lt;br /&gt;
#define BOXLLC    192      // Lower left corner |_&lt;br /&gt;
#define BOXHU     193      // Horizontal and up _|_&lt;br /&gt;
#define BOXHD     194      // Horizontal and down -.-&lt;br /&gt;
#define BOXVR     195      // Vertical line right line |-&lt;br /&gt;
#define BOXH      196      // Horizontal line -&lt;br /&gt;
#define BOXX      197      // Intersection -|-&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:MSP430]]&lt;/div&gt;</summary>
		<author><name>Heth</name></author>	</entry>

	</feed>