注册 登录
查看: 670|回复: 5

求助山外哥 为什么我的上位机显示不了波形??

[复制链接]
发表于 2017-6-24 15:57:49 | 显示全部楼层 |阅读模式
求助各位大佬,搞了快两天了,看了很多人的方法的还是解决,我的上位机上显示不了数据和波形==
main()程序如下:

#include "common.h"
#include "include.h"

extern float Gyro_Now,g_fCarAngle;

extern float OutData[4];                              //SCI示波器参数
extern float Gyro_Now,angle_offset_vertical;          //陀螺仪转化后的角速度,转化后的加速度角度
extern float g_fCarAngle,g_fGyroscopeAngleIntegral;   //融合后的角度
extern volatile int     MMA7361 ,ENC03,real_angle;    //加速度计AD ,陀螺仪AD,模块输出的角度

void vcan_sendware(uint8 *wareaddr, uint32 waresize);
extern void PIT0_IRQHandler(void);
extern void OutPut_Data(void);                              //SCI采参数


void main()
{
    DisableInterrupts;//禁止总中断

    // 在control.h定义了相关宏

    adc_init (ZOUT);          //MMA7361 Z轴
    adc_init (Gyro1);        // ENC03角速度
    adc_init (Ang);          //角度

    uart_init (UART4, 9600); // 设置波特率

    //初始化 PWM 输出
    //FTM 的管脚 可在  fire_port_cfg.h
    //宏定义FTM0_PRECISON   改为  1000u
    //PWM数值反转。

    FTM_PWM_init(FTM0, FTM_CH3,10000,1000);
    FTM_PWM_init(FTM0, FTM_CH4,10000,1000);
    FTM_PWM_init(FTM0, FTM_CH5,10000,1000);
    FTM_PWM_init(FTM0, FTM_CH6,10000,1000);


    //开启使能端
    gpio_init(PTD15,GPO,0);  //输出低电平
    gpio_init(PTA19,GPO,0);
    gpio_init(PTA5 ,GPO,0);
    gpio_init(PTA24,GPO,0);

    /*
    //3 左 反转
    //5 左 正转
    //4 右 正转
    //6 右 反转
     */
    led_init(LED0);                                         //初始化LED0,PIT0中断用到LED0

    pit_init_ms(PIT0, 5);                                  //初始化PIT0,定时时间为: 5ms
    set_vector_handler(PIT0_VECTORn ,PIT0_IRQHandler);      //设置PIT0的中断复位函数为 PIT0_IRQHandler
    enable_irq (PIT0_IRQn);                                  //使能PIT0中断
    EnableInterrupts;//中断允许
    DELAY_MS(3000);
    while(1)
   {
        #if 1
        OutData[0] = ENC03;
        OutData[1] = MMA7361;//Gyro_Now;
        OutData[2] = angle_offset_vertical ;
        OutData[3] = g_fCarAngle;
        //OutPut_Data();
        vcan_sendware((uint8_t *)OutData,sizeof(OutData));
        #endif


   }
}
/**********************中断服务程序*******************/
void PIT0_IRQHandler(void)
{
    led_turn(LED0);                             //闪烁 LED0

    AD_Calculate();                             //AD
    Speed_Calculate(g_fCarAngle,Gyro_Now);      //速度计算
    PIT_Flag_Clear(PIT0);                       //清中断标志位
}

void vcan_sendware(uint8 *wareaddr, uint32 waresize)
{
   #define CMD_WARE     3
    uint8 cmdf[2] = {CMD_WARE, ~CMD_WARE};    //串口调试 使用的前命令
    uint8 cmdr[2] = {~CMD_WARE, CMD_WARE};    //串口调试 使用的后命令

    uart_putbuff(UART4, cmdf, sizeof(cmdf));    //先发送前命令
    uart_putbuff(UART4, wareaddr, waresize);    //发送数据
    uart_putbuff(UART4, cmdr, sizeof(cmdr));    //发送后命令

}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-6-24 16:04:50 | 显示全部楼层
先说说你自己遇到问题,有没有试过调试,找问题吧。例如看看串口助手是否有收到数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-24 16:09:47 | 显示全部楼层
串口调试助手也显示不了数据
回复 支持 反对

使用道具 举报

发表于 2017-6-24 16:22:22 | 显示全部楼层
菜鸟233号 发表于 2017-6-24 16:09
串口调试助手也显示不了数据

一般是usb转串口模块有问题,或者接错线
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-24 18:17:31 | 显示全部楼层
我大概讲一下过程,大佬们看一下我是不是哪一步没做:
把程序烧录到K60,将TTL转接头上的RXD连 K60的C15 ,TXD 连K60的C14
然后就打开调试助手了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-24 20:44:04 | 显示全部楼层
还有大佬在吗????
回复 支持 反对

使用道具 举报

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

本版积分规则

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