OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3336|回复: 5

我的战舰STM32开发板智能发送数据,不能接收。

[复制链接]

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-7-18
在线时间
0 小时
发表于 2015-3-22 11:31:36 | 显示全部楼层 |阅读模式
5金钱

RS485_Receive_Data(rs485buf,&len);
if(len != 0||rs485buf[0]!=0||key==KEY_UP)
{
 RS485_Send_Data(rs485buf,1);
 BEEP=1;//关闭蜂鸣器
delay_ms(100);
BEEP=0;
  LCD_ShowxNum(60,170,rs485buf[0],3,16,0X80);
LCD_ShowxNum(60,190,len,3,16,0X80); 
delay_ms(10000);  
}
else 
{
Show_Str(60,170,200,16,"XXX",16,0);
 Show_Str(60,190,200,16,"XXX",16,0);
delay_ms(2000);
}
当我利用上面的程序是,通过串口调试助手发送数据,无论无论发送什么,都是去执行“else”。为什么?求指教

最佳答案

查看完整内容[请看2#楼]

回复【3楼】正点原子: ---------------------------问题已经解决,是硬件的问题。开发板上的两个接线帽接触不良造成的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-7-18
在线时间
0 小时
 楼主| 发表于 2015-3-22 11:31:37 | 显示全部楼层
回复【3楼】正点原子:
---------------------------问题已经解决,是硬件的问题。开发板上的两个接线帽接触不良造成的。
回复

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-7-18
在线时间
0 小时
 楼主| 发表于 2015-3-22 11:41:58 | 显示全部楼层
我的全部程序如下,求指教
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
#include "sys.h"
#include "usart.h" 
#include "delay.h" 
#include "led.h" 
#include "beep.h"  
#include "key.h"  
#include "exti.h"  
#include "wdg.h"  
#include "timer.h"  
#include "tpad.h"
#include "oled.h"  
#include "lcd.h"
#include "usmart.h" 
#include "rtc.h"  
#include "wkup.h" 
#include "adc.h"  
#include "dac.h"  
#include "dma.h"  
#include "24cxx.h"  
#include "flash.h"  
#include "rs485.h"  
#include "can.h"  
#include "touch.h"  
#include "remote.h"  
#include "joypad.h"
#include "adxl345.h"
#include "ds18b20.h"
#include "dht11.h"
#include "24l01.h"
#include "mouse.h"
#include "stmflash.h"
#include "rda5820.h"
#include "audiosel.h"
#include "ov7670.h"
#include "sram.h"
#include "malloc.h"
#include "string.h"
#include "mmc_sd.h"
#include "ff.h"
#include "exfuns.h"    
#include "fontupd.h"
#include "text.h" 
#include "text.h" 
#include "piclib.h"

//ALIENTEK战舰STM32开发板实验43
//照相机 实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司  

extern u8 ov_sta; //在exit.c里面定义
extern u8 ov_frame; //在timer.c里面定义   
//更新LCD显示    
int main(void)

  u8 res;  
  u8 *pname; //带路径的文件名 
  u8 key; //键值   
  u8 i;  
  u8 rs485buf[2];
  u8 len;

  Stm32_Clock_Init(9); //系统时钟设置
  delay_init(72); //延时初始化
  uart_init(72,9600); //串口1初始化    
  LCD_Init(); //初始化液晶 
  if(lcddev.id==0X6804||lcddev.id==0X5310) //强制设置屏幕分辨率为320*240.以支持3.5寸大屏
  {
    lcddev.width=240;
    lcddev.height=320; 
  }
  LED_Init();         //LED初始化  
  BEEP_Init();         //蜂鸣器初始化  
  KEY_Init(); //按键初始化      
  usmart_dev.init(72); //usmart初始化 
  mem_init(SRAMIN); //初始化内部内存池 
  RS485_Init(36,57600); //初始化RS485 
  exfuns_init(); //为fatfs相关变量申请内存  
  f_mount(0,fs[0]); //挂载SD卡 
  f_mount(1,fs[1]); //挂载FLASH.
  piclib_init(); //初始化画图

  POINT_COLOR=RED;      
  while(font_init()) //检查字库
  {    
    LCD_ShowString(60,50,200,16,16,"Font Error!");
    delay_ms(200);  
    LCD_Fill(60,50,240,66,WHITE);//清除显示     
  }      
  while(OV7670_Init())//初始化OV7670
  {
    Show_Str(60,230,240,16,"OV7670 错误!",16,0);
    delay_ms(200);
    LCD_Fill(60,190,239,206,WHITE);
    delay_ms(200);
  }
  //Show_Str(60,230,200,16,"OV7670 正常",16,0);
  delay_ms(1500);  
  TIM6_Int_Init(10000,7199); //10Khz计数频率,1秒钟中断  
  EXTI8_Init(); //使能定时器捕获
  OV7670_Window_Set(10,174,240,320); //设置窗口  
  OV7670_CS=0;
  rs485buf[0]=0;
  len = 0;        
  while(1)
  { 
    key=KEY_Scan(1);//不支持连按
    rs485buf[0]=0;
    RS485_Receive_Data(rs485buf,&len);
    //key=0;
    //RS485_Send_Data(rs485buf,1);
    if(len != 0||rs485buf[0]!=0||key==KEY_UP)
    {
      RS485_Send_Data(rs485buf,1);
      BEEP=1;//关闭蜂鸣器
      delay_ms(100);
      BEEP=0;
      LCD_ShowxNum(60,170,rs485buf[0],3,16,0X80);
      LCD_ShowxNum(60,190,len,3,16,0X80); 
      delay_ms(10000);  
    }
    else 
    {
      Show_Str(60,170,200,16,"XXX",16,0);
      Show_Str(60,190,200,16,"XXX",16,0);
      delay_ms(2000);
    }
    rs485buf[0]=0;
    len = 0;
    i++;
    if(i==20)//DS0闪烁.
    {
      i=0;
      LED0=!LED0;
    }
  }          
}


















回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-22 23:06:25 | 显示全部楼层
仿真,看是什么问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-7-18
在线时间
0 小时
 楼主| 发表于 2015-3-24 17:47:13 | 显示全部楼层
回复【3楼】正点原子:
---------------------------问题已经解决,是硬件的问题。开发板上的两个接线帽接触不良造成的。
回复

使用道具 举报

5

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
380
金钱
380
注册时间
2017-2-19
在线时间
53 小时
发表于 2017-2-19 15:27:08 | 显示全部楼层
你这个是干什么的程序?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 18:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表