智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1646|回复: 7
打印 上一主题 下一主题

[软件类] 直立车

[复制链接]

8

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
威望
205
贡献
98
兑换币
118
注册时间
2013-6-13
在线时间
28 小时
毕业学校
山东理工大学
跳转到指定楼层
1#
发表于 2013-8-27 16:18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
unsigned char uart_getchar(void)
{
//printf("uart_getchar\n");

  byte res=0;
   while(!(SCI0SR1&0x80)) ;    //keep waiting when not empty  
   return (SCI0DRL);
}
串口程序在分组里定义 .c  .h  为什么不可以正确使用 这是山大直立车参考程序里面的。

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
2#
发表于 2013-8-27 17:10:32 | 只看该作者
头文件用来声明,暴露接口
源文件用来定义,隐藏实现。
你的问题能不能说具体点?
回复

使用道具 举报

8

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
威望
205
贡献
98
兑换币
118
注册时间
2013-6-13
在线时间
28 小时
毕业学校
山东理工大学
3#
 楼主| 发表于 2013-8-27 18:43:45 | 只看该作者
rubick 发表于 2013-8-27 17:10
头文件用来声明,暴露接口
源文件用来定义,隐藏实现。
你的问题能不能说具体点?

好的 我参考的山大的直立车程序 自己加无线检测波形  我定义了一个Wireless T.h 一个Wireless T.c 在中断服务程序里调用 用的上位机是serial_digital_scope 调试时老是出现错误1Incompatible type to previous declaration 2missing ;
1#ifndef Wireless T_H        //if no define
#define Wireless T_h        //define  即如果没有定义的话,则定义。。。。(防止其他函数多次调用此头文件时而重复定义)
//#include  "Include_def.h"
/*--------------- I N C L U D E S ------------------------------------*/   
extern void Dly_ms(unsigned int ms);
extern void uart_putchar ( unsigned char c);
extern void uart_getchar(void);
extern void uart_putstr(char ch[]) ;
extern void CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT);
extern void OutPut_Data(void) ;
extern float OutData[4] ;
#endif //结束定义,配合#ifndef使用
2#include  "Include_def.h"
#include "derivative.h"      /* derivative-specific definitions */
int8u_t celve = 0;
float OutData[4] = { 0 };

////////////////////////////////////////////////////////////////////////////////
void Dly_ms(int16u_t ms)
{
  int16u_t i,j;
  for(i=0;i<ms;i++)
    for(j=0;j<20000;j++);
}

void uart_putchar ( int8u_t c)
{
  
  while(!(SCI0SR1&0x80)) ;       //keep waiting when not empty  
  SCI0DRL=c;
}
int8u_t uart_getchar(void)
{
//printf("uart_getchar\n");

  //int8u_t res=0;
   while(!(SCI0SR1&0x80)) ;    //keep waiting when not empty  
   return (SCI0DRL);
}

void uart_putstr(int8s_t ch[])
{
  int8u_t ptr=0;
  while(ch[ptr]){
      uart_putchar((int8u_t)ch[ptr++]);
  }
}
//********************************************************************
int16su_t CRC_CHECK(int8u_t *Buf, int8u_t CRC_CNT)
{
    int16su_t CRC_Temp;
    int8u_t i,j;
    CRC_Temp = 0xffff;
    for (i=0;i<CRC_CNT; i++){      
        CRC_Temp ^= Buf;
        for (j=0;j<8;j++) {
            if (CRC_Temp & 0x01)
                CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
            else
                CRC_Temp = CRC_Temp >> 1;
        }
    }
    return(CRC_Temp);
}

//**********************************************************
void OutPut_Data(void)
{
  int16s_t temp[4] = {0};
  int16u_t temp1[4] = {0};
  int8u_t databuf[10] = {0};
  int8u_t i;
  int16su_t CRC16 = 0;
  for(i=0;i<4;i++)
   {
   
    temp  = (int16s_t)OutData;
    temp1 = (int16u_t)temp;
   
   }
   
  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (int8u_t)(temp1%256);
    databuf[i*2+1] = (int8u_t)(temp1/256);
  }
  
  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;
  
  for(i=0;i<10;i++)
    uart_putchar(databuf);
}


经常提示这个有错误1和2
int8u_t uart_getchar(void)
{
//printf("uart_getchar\n");

  //int8u_t res=0;
   while(!(SCI0SR1&0x80)) ;    //keep waiting when not empty  
   return (SCI0DRL);
}
回复

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
4#
发表于 2013-8-27 19:53:03 | 只看该作者
#ifndef Wireless T_H
#define Wireless T_h

感觉是这里有问题,你改成这样试试

#ifndef Wireless
#define Wireless
回复

使用道具 举报

8

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
威望
205
贡献
98
兑换币
118
注册时间
2013-6-13
在线时间
28 小时
毕业学校
山东理工大学
5#
 楼主| 发表于 2013-8-27 20:58:52 | 只看该作者
rubick 发表于 2013-8-27 19:53
#ifndef Wireless T_H
#define Wireless T_h

我知道怎么回事了  找到了上位机的测试程序 不过很谢谢你 以后我试过你说的再回答你
回复

使用道具 举报

45

主题

171

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1704
QQ
威望
1032
贡献
200
兑换币
353
注册时间
2012-10-1
在线时间
236 小时
6#
发表于 2013-8-28 12:14:20 | 只看该作者
回复

使用道具 举报

45

主题

171

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1704
QQ
威望
1032
贡献
200
兑换币
353
注册时间
2012-10-1
在线时间
236 小时
7#
发表于 2013-8-28 12:15:01 | 只看该作者
回复

使用道具 举报

5

主题

171

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3616
QQ
威望
1742
贡献
1148
兑换币
1163
注册时间
2013-8-5
在线时间
363 小时
8#
发表于 2013-8-28 12:29:09 | 只看该作者
回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 12:30 , Processed in 0.078099 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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