新闻中心

EEPW首页>EDA/PCB>设计应用> 基于VC的MV05芯片PWM功能测试软件设计

基于VC的MV05芯片PWM功能测试软件设计

作者: 时间:2012-08-30 来源:网络 收藏

用户自定义模式下数据包封装函数代码如下:

void CCommWizardDlg::OnButtonUsrMode()

{ UpdateData(TRUE); //数据更新

CString strtemp;

int s1[9]; //存放数据包数据的数组

unsigned char c1;

// 时钟选择

if(this->m_Check1) {s1[6]=0;s1[7]=0;}// 单时钟

if(this->m_Check2) {s1[6]=0;s1[7]=1;}// 双时钟

if(this->m_Check3) {s1[6]=1;s1[7]=0;}// 四时钟

if(this->m_Check4) {s1[6]=1;s1[7]=1;}// 12 时钟

//占空比设置

if(this->m_Check9) {s1[3]=0;s1[4]=0;s1[5]=0;}// 1:1

if(this->m_Check10) {s1[3]=0;s1[4]=0;s1[5]=1;}// 1:2

if(this->m_Check11) {s1[3]=0;s1[4]=1;s1[5]=0;}//1:3

if(this->m_Check12) {s1[3]=0;s1[4]=1;s1[5]=1;}//1:4

if(this->m_Check13) {s1[3]=1;s1[4]=0;s1[5]=0;}//1:5

if(this->m_Check14) {s1[3]=1;s1[4]=0;s1[5]=1;}// 1:6

if(this->m_Check15) {s1[3]=1;s1[4]=1;s1[5]=0;}// 1:7

if(this->m_Check16) {s1[3]=1;s1[4]=1;s1[5]=1;}// 1:8

//-ADC 控制

if(this->m_Check5) {s1[1]=0;s1[2]=0;}// 0 主0 控

if(this->m_Check6) {s1[1]=0;s1[2]=1;}// 0 主1 控

if(this->m_Check7) {s1[1]=1;s1[2]=0;}// 1 主0 控

if(this->m_Check8) {s1[1]=1;s1[2]=1;}// 1 主1 控

s1[0]=0; //用户自定义模式选择

c1=s1[0]*128+s1[1]*64+s1[2]*32+s1[3]*16+s1[4]*8+s1[5]*4+s1[6]*2+s1[7]*1 ;

strtemp.Format(%02X ,c1); //10 进制转化为16 进制

m_strSendString=(CString)48 59 4C + strtemp ;

}

5 下位机软件

下位机软件包括串口通信模块和功能配置模块。串口部分使用中断方式接收数据, 当接收到上位机的命令执行中断服务程序转到PWM 功能配置模块,PWM 功能模块对接收到的 数据进行按位解析,根据通信协议将不同的数据位送到不同的寄存器。该方法对其它测试系 统具有借鉴意义。

6 结束语

本文介绍了上海大学微电子研究与开发中心研发的一款汽车发动机冷却风扇控制, 给出一种使用VC++6.0编写上位机软件对其进行测试的方法。本文的创新点是构造数据封装 函数,将用户要测试的项目一次发送给下位机,下位机按位解析数据包,将相应数据位送入 相应寄存器。通过调试证明该方法是完全可行的,提高了测试效率,测试结果达到了预期设 计指标,功能完全正确。

pwm相关文章:pwm原理



上一页 1 2 3 下一页

关键词:PWMMV05芯片

评论


相关推荐

技术专区

关闭