串口上位机(接收同步显示FFT波形) 问题Mark!
消除:
warning C4996:’sprintf’: This function or variable may be unsafe. Consider
的方法:
http://blog.csdn.net/lllxy/article/details/6859289
最简单的可以用的方法:
选项Project -> Configuration Properties -> C/C++ ->Preprocessor -> Preprocessor Definitions
添加_CRT_SECURE_NO_DEPRECATE
和_SCL_SECURE_NO_DEPRECATE
或用sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format [argument]...);
替换vc2008错误:不能将参数 1 从“const char []”转换为“LPCTSTR”
http://90chuanlin.blog.163.com/blog/static/4042992920114233169866/
是因为vs 2008之后项目使用的是unicode字符集,在“项目-属性”中将”unicode字符集”换成”多字节字符集”就行了,也可以将文本内容放在_T()里面,不变字符集。unicode编码与多字节编码
oncreat不行要注册MSChart控件
MsChart实现无闪烁动态曲线(MFC)
http://www.cnblogs.com/wy-wangyan/archive/2011/05/13/2045851.htmlVS2010 VC Project的default Include设置
http://blog.csdn.net/jeffchen/article/details/5491435ADC采样,DAC输出sin
CString函数大全,去掉最后一个字符
CString转float 要考虑字符编码问题 _tstof
vc中如何对float型数保留两位小数?
http://liangjun1800.blog.163.com/blog/static/349705912009013843523/loat fMoney = 1.12345; fMoney = ((long)(fMoney*100)/100.0);
或者
float fMoney = 1.12345; CString strMoney; strMoney.Format("%.2f",fMoney); fMoney = atof(strMoney);
绘图闪烁问题:双缓存法
m_Picture在初始化之后不能使用
m_Picture.BringWindowToTop(); m_Picture.ShowWindow(SW_NORMAL);
进异常中断,由以前的类的成员变量改成全局的static CStatic m_Picture;
就行了。靠自己是最靠谱的,写程序有感(参考别人的程序,特别是很古老的程序)
xx.MoveWindow 时候 ASSERT(::IsWindow(m_hWnd))?
动态加载一个窗体窗体里面有一些控件。在重载窗体的onsize函数后对控件的大小进行修改。
http://blog.csdn.net/vip_wanrui/article/details/6550607
解决办法是if (xxxx.GetSafeHwnd()!=NULL)
//必须先判断hwnd是否已经生成。。。。添加状态栏
static UINT BASED_CODE indicators[]=
//状态栏的指示器列表,如有未定义的字符串名,需在Resource View的String Table中添加定义添加状态栏导致退出时进入异常中断。
改成全局的static f=(0:length(y)-1)’*fs/length(y);
%进行对应的频率转换点数,及采样率自定义控件(12,16)Picture控件和状态栏
ONSize 时要考虑最小化与最大化或尺寸拉伸,分开处理
用GetDC()得到的DC, 必须调用ReleaseDC() 用CreateDC()创建的DC, 必须调用DeleteDC()
一般情况下,上面这个代码也能够工作,就是有时要报一点CHandleMap::RemoveHandle(HANDLE h)
异常,跟踪进代码也看不出啥问题.
区别:
ReleaseDC()仅是释放对DC的引用
DeleteDC()是删除DC对象, 使用GetDC()的时候,明显的这个DC不是我们自己创建的,使用DeleteDC()的话就会将别人(通常是MFC框架)创建的DC干掉,这样当别人要使用自己创建的DC时,就会产生异常了.
ReleaseDC()恰好解决这个问题,它仅是释放一个引用,告诉创建者DC,我已经不用了.
最小化,最大化,尺寸拉伸异常中断问题解决!!(因为最小化,最大化,尺寸拉伸时都要调用DC来重绘)添加//DDX_Control(pDX, IDC_PICTURE, m_Picture); //自定义的picture控件的问题
添加编辑框的问题只能用GetDlgItem(IDC_Freq),不能用CEdit m_Freq;添加有字符显示的控件 就有问题,拷贝的图像从那个控件开始显示 原来自定义的IDC_PICTURE的ID号和刚添加的控件ID重复相同了!!!!!!!!!!!!!!!!!
InitInstance Run-Time Check Failure #2 - Stack around the variable ’dlg’ was corrupted.
缓冲区溢出原因终于找到:之前是,不是=
//一组数据接收完成显示
if(Data_Index = m_Chart.GetRowCount())
但改为=数据就少了一个,图向右移
最终原因:
m_Data[]数组溢出越界
由m_Data[Data_Length]改为m_Data[Data_Length+1];问题解决。