历史上的今天
今天是:2025年03月29日(星期六)
2020年03月29日 | atmega48 spi编程代码
2020-03-29 来源:eefocus
#include #include #include "winio.h" #include #include #include #include #include #include "conio.h" #pragma comment( lib, "winio.lib") #include "resource.h" # define TIMER_ACCURACY 1 HWND hwnd; HANDLE hfile; unsigned long ddd=0; char * send(char * sss); void reset(void); char clk=5,rst=8,mosi=6,busy=7;//并口的针号,busy是并口的打印机忙线,后来改成ack,就是0x379端口的第7位值,并口第10脚。 int i=0; //char ssss[4];//改成全局 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: hwnd=hWnd; //hfile=CreateFile("ddd.txt", GENERIC_WRITE|GENERIC_READ ,FILE_SHARE_READ|FILE_SHARE_WRITE ,0,CREATE_ALWAYS,0,0); break; case WM_CLOSE: EndDialog( hwnd,NULL) ; break; case WM_COMMAND: switch (LOWORD(wParam)) { case (IDOK): reset(); char *kkk; char buffer2[50]; int iResult; DWORD num; char ddd[4]; ddd[0]=172; ddd[1]=83; ddd[2]=2; ddd[3]=255; kkk=send(ddd);//编程使能 //_gcvt((unsigned char )kkk[3], 20, buffer2 ); //WriteFile(hfile,buffer2,5,&num,0); ddd[0]=32; ddd[1]=0; ddd[2]=0; kkk=send(ddd); _gcvt((unsigned char )kkk[3], 20, buffer2 ); MessageBox(0,buffer2,0,0); ddd[0]=40; kkk=send(ddd); _gcvt((unsigned char )kkk[3], 20, buffer2 ); MessageBox(0,buffer2,0,0); ddd[0]=32; ddd[2]=1; kkk=send(ddd); _gcvt((unsigned char )kkk[3], 20, buffer2 ); MessageBox(0,buffer2,0,0); ddd[0]=40; kkk=send(ddd); _gcvt((unsigned char )kkk[3], 20, buffer2 ); MessageBox(0,buffer2,0,0); break; //case (IDC_BUTTON1): //SetPortVal(0x378,128, 1); //break; } } return 0; } int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow) { HACCEL hAccelTable; MSG msg; InstallWinIoDriver("winio.dll",0); if(InitializeWinIo()==0)MessageBox(0,0,"InitializeWinIo",0); DialogBoxParam(hInstance, MAKEINTRESOURCE (IDD_DIALOG1),0, (DLGPROC) WndProc,NULL); return 0; } void reset(void) { SetPortVal(0x378,0x00|(1< SetPortVal(0x378,(1< SetPortVal(0x378,0x00|(1< return; } char * send(char * sss) { char * ssss; ssss=(char *)malloc(4*sizeof(char));//char数组当返回值 //char ssss[4]; for(int j=0;j<4;j++) { unsigned char jj=sss[j]; unsigned char jjj; for(int i=0;i<8;i++) { jjj=jjj<<1; unsigned char ii=jj&128; unsigned char dd=ii>>(8-mosi); GetPortVal(0x379,&ddd, 1); SetPortVal(0x378,dd,1); SetPortVal(0x378,dd|(1< SetPortVal(0x378,dd, 1); ddd=ddd>>(busy-1); ddd=(ddd&1); jjj=jjj|ddd; jj=jj<<1; } ssss[j]=jjj; } return ssss; }
史海拾趣
|
刚才无聊的翻看谭浩强的《c++程序设计》,发现在182页的用指针显示二维数组的程序有点别扭,分析了一下,觉得是错的,大家也与我一同鉴别一下吧 #include using namespace std; int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23} ...… 查看全部问答> |
|
最近在搞STM32的USB模块,要做一个功能就是程序要知道USB是否在连接状态,现在用的是 bDeviceState 这个变量 我在USB_init()中把这个变量初始化为 bDeviceState = UNCONNECTED;,这个变量在 上电初始化之后,会被USB Reset 初始化为:b ...… 查看全部问答> |
|
#include void PLLSet() { unsigned long ulRCC,ulDelay; ulRCC=SYSCTL_RCC_R; //读取当前RCC寄 ...… 查看全部问答> |
|
MSP430FR5720芯片下载程序有两种方式:SBW和JTAG,怎么选择为JTAG模式,TEST和RST引脚怎么连接? 现在的电路板将两个引脚都拉高,但是IAR总是显示错误:找不到设备! 求助各路大神! … 查看全部问答> |
|
最近几天刚刚回学校,就受到快递小哥连环夺命催,我要是再回来晚几天,这块小巧可爱的板子就要跟我说再见喽,迫不及待拆开快递,上电,绚烂的LED灯光效果映入眼帘,啥都不说,这手感,赞。 之前做过一个SWD转接头,正好用上。 打开样板工程,可能 ...… 查看全部问答> |
|
最近做了一个频率计程序,计数输入信号,结果通过示波器发现信号源不是标准方波导致计数值不准确,怎么利用FPGA运放将输入信号整形成一个占空比为50%的方波,请高手指导一下,谢谢! … 查看全部问答> |
|
接地 接地是电子设备的一个很重要问题。接地目的有三个: (1)接地使整个电路系统中的所有单元电路都有一个公共的参考零电位,保证电路系统能稳定地干作。 (2)防止外界电磁场的干扰。机壳接地可以使得由于静电感应而积累在机壳上的大量电荷通过大 ...… 查看全部问答> |




