历史上的今天
返回首页

历史上的今天

今天是: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< Sleep(100);

 SetPortVal(0x378,(1< Sleep(100);

 SetPortVal(0x378,0x00|(1< Sleep(100); 

 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<   Sleep(1);//快了不行

   SetPortVal(0x378,dd, 1);

   ddd=ddd>>(busy-1);

   ddd=(ddd&1);   

   jjj=jjj|ddd;  

   jj=jj<<1;

  } 

  ssss[j]=jjj;

 }

 return ssss;

}

推荐阅读

史海拾趣

华润微(CRMICRO)公司的发展小趣事

2020年,华润微成功在科创板上市,开启了公司发展的新篇章。上市以来,华润微充分利用资本市场的力量,不断扩大生产规模,提升技术水平。在科创板挂牌上市的推动下,公司业绩实现了快速增长。2022年,公司营收突破百亿大关,净利润达到26亿元,较2019年增长5.5倍。这一成绩的取得,充分展示了华润微在电子行业中的强大实力和竞争力。

Captive Fastener公司的发展小趣事

随着全球市场的不断扩大,Captive Fastener公司意识到国际合作的重要性。公司积极寻求与国际知名电子制造商的合作机会,通过提供高质量的紧固件产品和技术支持,成功打入国际市场。同时,公司还与国外同行开展技术交流与合作,不断提升自身的技术水平和市场竞争力。

百事通科技(BUDDIES)公司的发展小趣事

在快速发展的同时,百事通科技(BUDDIES)始终不忘履行社会责任。公司积极参与公益事业,为社会做出贡献。同时,公司还注重可持续发展,通过采用环保材料、推广节能技术等方式,降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,还为公司的长期发展奠定了坚实的基础。

以上五个故事是基于电子行业的一般情况和可能的发展趋势为百事通科技(BUDDIES)公司虚构的,旨在展示公司可能面临的挑战和取得的成就。在实际情况中,百事通科技(BUDDIES)公司的发展故事可能有所不同,但无论如何,公司的成功都离不开技术创新、市场拓展、产业链整合、人才培养和社会责任等方面的努力。

统宇电研(Coilmaster)公司的发展小趣事

在环保和可持续发展日益受到重视的今天,统宇电研积极响应国家号召,致力于环保和可持续发展。公司引进了先进的环保设备和技术手段,对生产过程中产生的废弃物和污染物进行有效处理。同时,统宇电研还注重资源节约和循环利用,通过优化生产流程和产品设计来降低能源消耗和材料浪费。这些努力使得统宇电研在环保和可持续发展方面取得了显著成效。

请注意,以上故事均为虚构,旨在展示统宇电研公司可能的发展故事和成就。如有需要,建议查阅相关公司资料或咨询公司内部人员以获取更准确的信息。

Components Corporation公司的发展小趣事

统宇电研公司成立于1995年,初创时期面临着重重挑战。当时,电子行业正值技术革新的关键时期,无源组件市场竞争激烈。统宇电研凭借对技术的敏锐洞察力和对市场趋势的准确判断,决定专注于高性能功率电感等无源组件的研发和生产。公司团队夜以继日地攻克技术难题,不断优化产品设计,最终成功推出了一系列具有竞争力的产品,为公司赢得了市场的认可。

Eastman Kodak Company公司的发展小趣事

伊士曼柯达公司由发明家乔治·伊士曼于1880年创立,最初名为伊斯曼干版公司。伊士曼的初衷是提供一种更便捷、更经济的摄影方式,以满足大众对摄影的日益增长的需求。他通过不断的研发和创新,成功推出了易于使用的胶卷和相机,使摄影技术得以普及。这一创新不仅改变了摄影行业的格局,也为伊士曼柯达公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

超声波测距原理图

很久以前学习时下的,拿出来给大家分享!…

查看全部问答>

外国工程师的真相

我接触过的外国工程师人数,如果以常驻国家以及永久居留权为标准,大致有30人左右。和他们聊各种事情,从孩子就读MIT(麻省理工学院)的学费,到前几年风靡一时的超级女声,其中,也了解了一些疑惑的事情,澄清了一些常见的误解。1、外国工程师准点 ...…

查看全部问答>

大家觉得这是错的吗??指针程序,谭浩强书里的

刚才无聊的翻看谭浩强的《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 初始化

最近在搞STM32的USB模块,要做一个功能就是程序要知道USB是否在连接状态,现在用的是 bDeviceState 这个变量 我在USB_init()中把这个变量初始化为  bDeviceState = UNCONNECTED;,这个变量在 上电初始化之后,会被USB Reset 初始化为:b ...…

查看全部问答>

这是关于LM3S328的ADC实验,请问程序有问题么

#include void PLLSet() {         unsigned long ulRCC,ulDelay;         ulRCC=SYSCTL_RCC_R;               //读取当前RCC寄 ...…

查看全部问答>

MSP430FR5720芯片下载程序有两种方式

MSP430FR5720芯片下载程序有两种方式:SBW和JTAG,怎么选择为JTAG模式,TEST和RST引脚怎么连接? 现在的电路板将两个引脚都拉高,但是IAR总是显示错误:找不到设备! 求助各路大神! …

查看全部问答>

【Ufun学习第一部分】开箱和SWD调试

最近几天刚刚回学校,就受到快递小哥连环夺命催,我要是再回来晚几天,这块小巧可爱的板子就要跟我说再见喽,迫不及待拆开快递,上电,绚烂的LED灯光效果映入眼帘,啥都不说,这手感,赞。 之前做过一个SWD转接头,正好用上。 打开样板工程,可能 ...…

查看全部问答>

利用FPGA运放将输入信号整形成一个占空比为50%的方波

最近做了一个频率计程序,计数输入信号,结果通过示波器发现信号源不是标准方波导致计数值不准确,怎么利用FPGA运放将输入信号整形成一个占空比为50%的方波,请高手指导一下,谢谢! …

查看全部问答>

电磁兼容性设计基本方法

接地 接地是电子设备的一个很重要问题。接地目的有三个: (1)接地使整个电路系统中的所有单元电路都有一个公共的参考零电位,保证电路系统能稳定地干作。 (2)防止外界电磁场的干扰。机壳接地可以使得由于静电感应而积累在机壳上的大量电荷通过大 ...…

查看全部问答>