1、 首先,打开浏览器,在百度上搜索“logotools下载”,打开一个安全的网站进行下载。
2、然后下载后,双击logotoolsexe程序打开软件。
3、然后单击左上角的图标导入您喜爱的。
4、根据车辆和机器的屏幕尺寸选择分辨率并剪切。
5、然后单击“编译”。
6、提示完成编译并单击“确定”,一个“标志,当找到软件所在的文件夹时,将出现“FLL”文件,将文件名更改为“@@@@LOGOfll”,注意:不要修改后缀格式。
7、完成后将文件导入到U盘,到车上打开汽车机器,找到可以识别USB驱动器的USB端口,然后插入USB驱动器,单击车辆设置-系统-系统升级-确定。
8、然后等待升级包d出,然后单击“否”-“升级失败”,然后单击“确定”。
9、然后单击[logo]升级[是]。
10、然后将提示升级成功并单击“退出”。
11、最后自动重新启动就完成了,如下图所示。
可能是由于使用不当,丢失了部分系统文件所导致的,一般不会影响系统的功能及运行,可以点击 开始->运行->输入"msconfig"->点"启动"->把系统出错的那个勾去掉就好了
#include <msp430x41xh> //系统文件夹内找
#include "mainh" //当前文件夹内找
main( void )
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset
Sys_Init();
while(1)
{
if((P1IN&BIT0) == BIT0)
P1OUT |= BIT1;
else
P1OUT &= ^BIT1;
}
}
/
SYS初始化
/
void Sys_Init(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
/时钟初始化 //MCLK:2031616Hz/
FLL_CTL0 |= XCAP14PF; // Configure load caps
SCFI0 |= FN_2; //频率范围
SCFQCTL =30; //N,如不设置默认=31
SCFI0 |= FLLD_2; //D=2,PUC后的默认值=2
//FLL_CTL1 |= FLL_DIV_4; //4分频,P15输出:f=32768/4
FLL_CTL0 |= DCOPLUS;//在MCLK前分频 f=D(N+1)faclk,2(30+1)32768=2031616Hz
/端口初始化/
P1DIR |= BIT1 + BIT2 + BIT3+ BIT4+ BIT5 + BIT6+ BIT7;
}
是屏保那中吗?选择“表单控件”上的“OLE容器控件”,将其拖到表单上,再在“插入对象(Insert Object)”窗口中选择“媒体剪辑”,调用“媒体播放机”,利用它来播放出音乐,同时把播放任务条隐藏起来。
但是,利用上述方法要占用大量系统资源,且要利用到外部程序“媒体播放机”,不是一个好方法。其实我们可以利用VFP的动态链接库foxtoolsfll来轻松实现背景音乐,而且极少占用系统资源。
foxtoolsfll位于VFP的安装目录中,如下例中假设安装目录为C:VFP。假设Visual FoxPro 系统安装于C:VFP目录中。
首先准备一WAV格式的背景音乐文件(这里以backwav这例),放于指定目录如C:TEST中;可在表单(Form)的Activate事件中加入如下代码:
public sound set defa to C:TEST
set Library to c:vfp oxtoolsfll &&指定FoxPro 动态链接库
sound=regfn("SndplaySound","CI","I","Mmsystem")
=callfn(sound,"backwav",1)
为了在表单释放时关闭音乐, 同时在LostFocus事件中加入代码:
=Callfn(sound," ",10) set library to
VFP中实现背景音乐的几种方法
(好文章大家一起分享) 本文出自:《电脑报》1998年01月25日第04期
一、利用set bell to
VFP50的set bell to命令的使用格式不同于FoxPro2X的格式。在VFP50中,它的格式为Set Bell To [cWAVFileName, nDuration]。
其中cWAVFileName为一个WAV文件;nDuration为持续时间(注意该项不可省略,否则会产生语法错误)。这样当在个人程序的初始模块中用set bell to 定向到一WAV文件后,便可在后面的模块中用?chr(7)来播放该WAV文件。
示例1: set bell on &&使bell有效
set bell to 'WAV文件', 0 &&使bell定向到一个WAV 文件。注意有单引号
chr(7) &&播放该WAV文件
二、利用OLE容器控件
创建一表单,单击表单控件工具栏中的“OLE容器控件”按钮,然后在表单上适当位置点击或拖动。在出现的“Insert Object”窗口中选“Creat New”或“Creat From File”,用“Browse”按钮选取自己的WAV文件,确定即可。
在当前表单中会出现一“喇叭”图标,设置该图标的属性“ AutoActivate”为1,可使每当表单运行时自动播放该WAV文件,实现背景音乐;设置Height、Width均为0时,可隐藏“喇叭”图标。
三、利用VFP库Foxtoolsfll
用=Regfn()和=Callfn()可访问Foxtoolsfll中的音频模块,进行播放声音文件。
示例2:
创建一表单,在其Activate事件中输入下列代码:
public ss &&定义一全局变量ss
set library to foxtoolsfll &&打开库Foxtoolsfll
ss=Regfn("SndPlaySound", "CI", "I", "mmsystem") &&取得音频信息
=Callfn(ss, "一wav文件", n) &&n=0(1,2,3也可)时只播放一遍,n=9时循环播放
在其Destroy事件中输入下列代码:
=Callfn(ss, "", 10) &&停止播放
set library to &&从内存中释放库foxtoolsfll
四、利用Windows的动态链接库 在VFP50的安装目录samples\classes下,有一类库samples\classes。其中提供有两种控件:视频和音频,音频可以控制播放WAV和MID文件,利用它可轻松地实现背景音乐。下面给出它的实例。
示例3:
创建一表单,在表单控件工具栏中选择类按钮,添加VFP50中的samples\classes\samplesvbx类库。此时表单控件工具栏中会出现SoundPlayer和VideoFrame两个多媒体控件。选择SoundPlayer,在表单上单击后,设置它的属性如下:
AutoOpen=t
AutoPlay=t
AutoRepeat=t
Class=SoundPlayer
Soundfile=指定一WAV或MID文件 &&注意没有引号
Visible=f &&不可见
以上几种方式各有优缺点,应用时要注重满足自己的编程需要。若你有更好的方法,欢迎来信共同探讨 我利用ole容器播放MID文件,因为MID文件普遍最小。但是我不知道可否设置循环播放?因为我不知道解决方案,所以,我就加了一个定时器,设置调用定时器的时间间隔等于或略大于MID播放时间长度。
转载
5系列的不太清楚,但是do while那一段是保证时钟失效标志OFIFG为0才能继续往下走的,可能你的程序一直就停在这里,没有往下跑。
贴个网址仅供参考:>
第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:
LIBEXPORT_API int mySum(int a,int b){ return a+b;}
C# 导入定义:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAuto,CallingConvention=CallingConventionStdCall)]
public static extern int mySum (int a,int b);
}
在C#中调用测试:
int iSum = RefCommmySum(,);
运行查看结果iSum为5,调用正确。第一步试验完成,说明在C#中能够调用自定义的动态链接库函数。
第二步,我定义了字符串 *** 作的函数(简单起见,还是采用前面的函数名),返回结果为字符串:
LIBEXPORT_API char mySum(char a,char b){sprintf(b,"%s",a); return a;}
C# 导入定义:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAuto,
CallingConvention=CallingConventionStdCall)]
public static extern string mySum (string a, string b);
}
在C#中调用测试:
string strDest="";
string strTmp= RefCommmySum("45", strDest);
运行查看结果 strTmp 为"45",但是strDest为空。我修改动态链接库实现,返回结果为串b:
LIBEXPORT_API char mySum(char a,char b){sprintf(b,"%s",a) return b;}
修改 C# 导入定义,将串b修改为ref方式:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAuto,CallingConvention=CallingConventionStdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中再调用测试:
string strDest="";
string strTmp= RefCommmySum("45", ref strDest);
运行查看结果 strTmp 和 strDest 均不对,含不可见字符。再修改 C# 导入定义,将CharSet从Auto修改为Ansi:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAnsi,CallingConvention=CallingConventionStdCall)]
public static extern string mySum (string a, string b);
}
在C#中再调用测试:
string strDest="";
string strTmp= RefComm mySum("45", ref strDest);
运行查看结果 strTmp 为"45",但是串 strDest 没有赋值。第二步实现函数返回串,但是在函数出口参数中没能进行输出。再次修改 C# 导入定义,将串b修改为引用(ref):
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAnsi,CallingConvention=CallingConventionStdCall)]
public static extern string mySum (string a, ref string b);
}
运行时调用失败,不能继续执行。
第三步,修改动态链接库实现,将b修改为双重指针:
LIBEXPORT_API char mySum(char a,char b){sprintf((b),"%s",a); return b;}
C#导入定义:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAnsi,CallingConvention=CallingConventionStdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中调用测试:
string strDest="";
string strTmp= RefComm mySum("45", ref strDest);
运行查看结果 strTmp 和 strDest 均为"45",调用正确。第三步实现了函数出口参数正确输出结果。
第四步,修改动态链接库实现,实现整数参数的输出:
LIBEXPORT_API int mySum(int a,int b,int c){ c=a+b; return c;}
C#导入的定义:
public class RefComm
{
[DllImport("LibEncryptdll",
EntryPoint=" mySum ",
CharSet=CharSetAnsi,CallingConvention=CallingConventionStdCall)]
public static extern int mySum (int a, int b,ref int c);
}
在C#中调用测试:
int c=0;
int iSum= RefComm mySum(,, ref c);
运行查看结果iSum 和c均为5,调用正确。
经过以上几个步骤的试验,基本掌握了如何定义动态库函数以及如何在 C# 定义导入,有此基础,很快我实现了变长加密函数在 C# 中的调用,至此目标实现。
三、结论
在 C# 中调用 C++ 编写的动态链接库函数,如果需要出口参数输出,则需要使用指针,对于字符串,则需要使用双重指针,对于 C# 的导入定义,则需要使用引用(ref)定义。
对于函数返回值,C# 导入定义和 C++ 动态库函数声明定义需要保持一致,否则会出现函数调用失败。定义导入时,一定注意 CharSet 和 CallingConvention 参数,否则导致调用失败或结果异常。运行时,动态链接库放在 C# 程序的目录下即可,我这里是一个 C# 的动态链接库,两个动态链接库就在同一个目录下运行。
以上就是关于飞歌导航怎么修改开机LOGO全部的内容,包括:飞歌导航怎么修改开机LOGO、开机出现应用程序或dll c:\windows\system32\fll.dll为无效的windows映像,请在检测一遍你的安装盘。、写一个程序,msp430单片机控制,定义p1.0为输入口,p1.1为输出口,输入高电平时就输出高电平等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)