社区
Delphi
帖子详情
请问如何使用串口的OutPutByte和ReadInputByte方法!
wuyisq
2004-01-15 02:12:19
谢谢!
...全文
33
回复
打赏
收藏
请问如何使用串口的OutPutByte和ReadInputByte方法!
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
生成验证码
一个常用的生成验证码的插件 public void PrintBmp(string filePath) { var bitmap = new Bitmap(filePath); var text = "\u001b3\0"; var array = new
byte
[text.Length]; int num; for (var i = 0; i < text.Length; i = num + 1) { array[i] = (
byte
) text[i]; num = i; }
Output
Byte
(array); array[0] = 0; array[1] = 0; array[2] = 0; var array2 = new
byte
[5]; array2[0] = 27; array2[1] = 42; var array3 = array2; array3[2] = 33; array3[3] = (
byte
) (bitmap.Width % 256); array3[4] = (
byte
) (bitmap.Width / 256); for (var j = 0; j < bitmap.Height / 24 + 1; j = num + 1) {
Output
Byte
(array3); for (var k = 0; k < bitmap.Width; k = num + 1) { for (var l = 0; l < 24; l = num + 1) { var flag = j * 24 + l < bitmap.Height; if (flag) { var flag2 = bitmap.GetPixel(k, j * 24 + l).R == 0; if (flag2) { var array4 = array; var num2 = l / 8; array4[num2] += (
byte
) (128 >> (l % 8)); } } num = l; }
Output
Byte
(array); array[0] = 0; array[1] = 0; array[2] = 0; num = k; }
byte
[] my
byte
= { 10 };
Output
Byte
(my
byte
); num = j; }
Output
Str("\n\n"); } }
基于51单片机&辉光管实现的辉光钟软件程序源码+PCB图.zip
基于51单片机&辉光管实现的辉光钟软件程序源码+PCB图 void DS1302
Input
Byte
(unsigned char d) { unsigned char i; ACC = d; for(i=8; i>0; i--) { DS1302_IO = ACC0; DS1302_CLK = 1; DS1302_CLK = 0; ACC = ACC >> 1; } } unsigned char DS1302
Output
Byte
(void) { unsigned char i; for(i=8; i>0; i--) { ACC = ACC >>1; ACC7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; } return(ACC); } void Write1302(uns
ds1302时钟 液晶显示
自认为还行 有仿真效果 /************************************************************************** THE REAL TIMER DS1302 DRIVER LIB COPYRIGHT (c) 2005 BY JJJ. -- ALL RIGHTS RESERVED -- File Name: DS1302.h Author: Jiang Jian Jun Created: 2003/7/21 Modified: NO Revision: 1.0 ***************************************************************************/ #ifndef _REAL_TIMER_DS1302_2003_7_21_ #define _REAL_TIMER_DS1302_2003_7_21_ sbit DS1302_CLK = P1^6; //实时时钟时钟线引脚 sbit DS1302_IO = P1^7; //实时时钟数据线引脚 sbit DS1302_RST = P1^5; //实时时钟复位线引脚 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; typedef struct __SYSTEMTIME__ { unsigned char Second; unsigned char Minute; unsigned char Hour; unsigned char Week; unsigned char Day; unsigned char Month; unsigned char Year; unsigned char DateString[9]; unsigned char TimeString[9]; }SYSTEMTIME; //定义的时间类型 #define AM(X) X #define PM(X) (X+12) // 转成24小时制 #define DS1302_SECOND 0x80 #define DS1302_MINUTE 0x82 #define DS1302_HOUR 0x84 #define DS1302_WEEK 0x8A #define DS1302_DAY 0x86 #define DS1302_MONTH 0x88 #define DS1302_YEAR 0x8C #define DS1302_RAM(X) (0xC0+(X)*2) //用于计算 DS1302_RAM 地址的宏 void DS1302
Input
Byte
(unsigned char d) //实时时钟写入一字节(内部函数) { unsigned char i; ACC = d; for(i=8; i>0; i--) { DS1302_IO = ACC0; //相当于汇编中的 RRC DS1302_CLK = 1; DS1302_CLK = 0; ACC = ACC >> 1; } } unsigned char DS1302
Output
Byte
(void) //实时时钟读取一字节(内部函数) { unsigned char i; for(i=8; i>0; i--) { ACC = ACC >>1; //相当于汇编中的 RRC ACC7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; } return(ACC); } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302地址, ucData: 要写的数据 { DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302
Input
Byte
(ucAddr); // 地址,命令 DS1302
Input
Byte
(ucDa); // 写1
Byte
数据 DS1302_CLK = 1; DS1302_RST = 0; } unsigned char
Read
1302(unsigned char ucAddr) //读取DS1302某地址的数据 { unsigned char ucData; DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302
Input
Byte
(ucAddr|0x01); // 地址,命令 ucData = DS1302
Output
Byte
(); // 读1
Byte
数据 DS1302_CLK = 1; DS1302_RST = 0; return(ucData); } void DS1302_SetProtect(bit flag) //是否写保护 { if(flag) Write1302(0x8E,0x10); else Write1302(0x8E,0x00); } void DS1302_SetTime(unsigned char Address, unsigned char Value) // 设置时间函数 { DS1302_SetProtect(0); Write1302(Address, ((Value/10)<<4 | (Value%10))); } void DS1302_GetTime(SYSTEMTIME *Time) { unsigned char
Read
Value;
Read
Value =
Read
1302(DS1302_SECOND); Time->Second = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_MINUTE); Time->Minute = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_HOUR); Time->Hour = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_DAY); Time->Day = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_WEEK); Time->Week = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_MONTH); Time->Month = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F);
Read
Value =
Read
1302(DS1302_YEAR); Time->Year = ((
Read
Value&0x70)>>4)*10 + (
Read
Value&0x0F); } void DateToStr(SYSTEMTIME *Time) { Time->DateString[0] = Time->Year/10 + '0'; Time->DateString[1] = Time->Year%10 + '0'; Time->DateString[2] = '-'; Time->DateString[3] = Time->Month/10 + '0'; Time->DateString[4] = Time->Month%10 + '0'; Time->DateString[5] = '-'; Time->DateString[6] = Time->Day/10 + '0'; Time->DateString[7] = Time->Day%10 + '0'; Time->DateString[8] = '\0'; } void TimeToStr(SYSTEMTIME *Time) { Time->TimeString[0] = Time->Hour/10 + '0'; Time->TimeString[1] = Time->Hour%10 + '0'; Time->TimeString[2] = ':'; Time->TimeString[3] = Time->Minute/10 + '0'; Time->TimeString[4] = Time->Minute%10 + '0'; Time->TimeString[5] = ':'; Time->TimeString[6] = Time->Second/10 + '0'; Time->TimeString[7] = Time->Second%10 + '0'; Time->DateString[8] = '\0'; } void Initial_DS1302(void) { unsigned char Second=
Read
1302(DS1302_SECOND); if(Second&0x80) DS1302_SetTime(DS1302_SECOND,0); } /******************************************************************************** void BurstWrite1302(unsigned char *pWClock) //往DS1302写入时钟数据(多字节方式) { unsigned char i; Write1302(0x8e,0x00); // 控制命令,WP=0,写操作? DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302
Input
Byte
(0xbe); // 0xbe:时钟多字节写命令 for (i = 8; i>0; i--) //8
Byte
= 7
Byte
时钟数据 + 1
Byte
控制 { DS1302
Input
Byte
(*pWClock); // 写1
Byte
数据 pWClock++; } DS1302_CLK = 1; DS1302_RST = 0; } void Burst
Read
1302(unsigned char *pRClock) //读取DS1302时钟数据(时钟多字节方式) { unsigned char i; DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302
Input
Byte
(0xbf); // 0xbf:时钟多字节读命令 for (i=8; i>0; i--) { *pRClock = DS1302
Output
Byte
(); // 读1
Byte
数据 pRClock++; } DS1302_CLK = 1; DS1302_RST = 0; } void DS1302_TimeStop(bit flag) // 是否将时钟停止 { unsigned char Data; Data=
Read
1302(DS1302_SECOND); DS1302_SetProtect(0); if(flag) Write1302(DS1302_SECOND, Data|0x80); else Write1302(DS1302_SECOND, Data&0x7F); } ********************************************************************************/ #endif
Delphi与
串口
通讯
在Delphi中的实现如下。我们
使用
Tcomm控件实现
串口
通讯。此控件调用Win32 API来实现所需功能。控件安装后可见如下属性BaudRate、CommPort、DataBits、DataCount、DTREnabled、HwHandShaking、
Input
Len、Parity、PortOpen、RThreshold、RTSEnabled、StopBits、SwHandShaking等设置串
%02x java,从pyscard调用的JavaCard加密和解密函数
RSA加密和解密算法
使用
了一个中国密钥加密卡(CRT)实现。下面是我的一些代码:施工单位:private CryptoApplet() {generateKeyPair();cipher = Cipher.getInstance(Cipher.ALG_RSA_PKCS1, false);
output
Byte
= new
byte
[256];
output
Byte
2 = new
byte
[117];o...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章