首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UART pic18到pic18

UART pic18到pic18
EN

Stack Overflow用户
提问于 2014-05-20 22:13:06
回答 1查看 570关注 0票数 1

不能发送字符'C‘并显示在接收器图片上。液晶打印一些特殊的字符,没有‘C’.;(

传送者:

代码语言:javascript
复制
char uart_rd;
int uart_rdi;

sbit LCD_RS at LATB0_bit;
sbit LCD_EN at LATB1_bit;
sbit LCD_D4 at LATB5_bit;
sbit LCD_D5 at LATB4_bit;
sbit LCD_D6 at LATB3_bit;
sbit LCD_D7 at LATB2_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;


void main() {
  ANSELA  = 0;                     // Configure AN pins as digital
  ANSELB = 0;
  ANSELC = 0;

  Lcd_Init();

  UART2_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize



 while (1) {

   UART2_Write('C');
   }
 }

接受者:

代码语言:javascript
复制
char uart_rd;
int uart_rdi;

sbit LCD_RS at LATB0_bit;
sbit LCD_EN at LATB1_bit;
sbit LCD_D4 at LATB5_bit;
sbit LCD_D5 at LATB4_bit;
sbit LCD_D6 at LATB3_bit;
sbit LCD_D7 at LATB2_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;


void main() {
  ANSELA  = 0;                     // Configure AN pins as digital
  ANSELB = 0;
  ANSELC = 0;

  Lcd_Init();

  UART2_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize


 while (1) {
    if (UART2_Data_Ready()) {     // If data is received,
     uart_rdi = UART2_Read();     // read the received data,
       uart_rd = uart_rdi;
      LCD_Out(1,1, uart_rd);

   }
 }
}

打开两张照片18F26K22,新到串口..。不知道如何测试它,因为没有设备,我的代码是好的吗?我不使用变形杆菌,在金属上工作。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-21 04:07:36

我曾经有过这样的问题,事实上,这个角色不是一个没有签名的字符。所以试着投出来。

代码语言:javascript
复制
...
while (1) {
if (UART2_Data_Ready()) {     // If data is received,
  uart_rdi = UART2_Read();     // read the received data,
  uart_rd = uart_rdi;
  LCD_Out(1,1, (unsigned char) uart_rd);
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23770845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档