终结者默默
终结者默默
关注数: 53
粉丝数: 151
发帖数: 1,432
关注贴吧数: 156
散落天涯--回忆录 那年经历6月高考的洗礼,暂缓于此,可以说命运之舟修整一年,每当回忆那年,九月都仿佛掺夹着咸味,大家未约而同来此地,见面时都是说未听说此般总总,谁有有何经验之谈,委而求其次,既来之则安之。每每回忆起,觉得人生留一个定格,只定在此就好,沙滩上嬉戏追足,一起守着鸽子窝的日出,一起浴场海边的畅泳,联峰山的爬行.....人们常说,人一旦回忆就是老了,可我不觉得,美好的回忆,常想起又何妨,人生短暂,每次甜蜜的回忆,给自己一片静想的空间,在年轻人要都躺平的生活压力下,何尝又不感叹,时代的快节奏,有时会让你迷失在快节奏之中。嘿,那些散落天涯的花儿们,你们好吗? 那片笑声,让我想起我的那些花儿 在我生命每个角落静静为我开着 我曾以为,我会永远守在她身旁 今天我们已经离去在人海茫茫 她们都老了吧, 她们在哪里呀 我们就这样,各自奔天涯。
树莓派Modbus连接伺服控制器 目前这个想法还未实现,做个标记
手机APP+HC05+arduino控制小车 一段arduino的测试程序已成功点亮LED13,HC05为从模式,波特率38400 #include <SoftwareSerial.h> #define RxD 11 #define TxD 10 char recvChar; // Pin11为RX,接HC05的TXD // Pin10为TX,接HC05的RXD SoftwareSerial blueToothSerial(RxD,TxD); void setup() { Serial.begin(38400); Serial.println("BlueTooth Monitor is ready!"); pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); blueToothSerial.begin(38400); Serial2.begin(34800); pinMode(13, OUTPUT); } void loop() { if(blueToothSerial.available()>0) { recvChar = blueToothSerial.read(); Serial.print(recvChar); if(recvChar == '1') digitalWrite(13, HIGH); else if(recvChar == '0') digitalWrite(13, LOW); } if(Serial.available()) { //串口发送数据给蓝牙口 recvChar = Serial.read(); blueToothSerial.print(recvChar); } }
收运动相机,有玩黑狗的吗?抛过来一个,最近迷恋自拍,自玩。 收运动相机,有玩黑狗的吗?抛过来一个,最近迷恋自拍,自玩。
大鳑鲏,一边钓鱼一边下笼,这伞笼用一次就废了,夏天有资源也不进鱼,水里食物太多了,估计都吃水草吃饱了。千万别搞伞笼啊!!!!
分享视频 分享视频
永别了再会已是局外人,那些曾经的伙伴们,有幸之第一年在这认识你们,也许后续的生命的旅途再不会有交集,希望安好!
PS2手柄遥控Arduino小车 转网友版 电机:有刷直流电机 驱动器:L298n逻辑 控制器:Arduino Mega2560 程序功能实现: - 按下START键,开始前进; - 通过按PS2手柄左边的“上下左右”键实现前进 、后退、左转、右转。 - 按SELECT键停止; #include //for v1.6 /****************************************************************** * set pins connected to PS2 controller: * - 1e column: original * - 2e colmun: Stef? * replace pin numbers by the ones you use ******************************************************************/ //PS2手柄引脚; #define PS2_DAT 13 //14 #define PS2_CMD 11 //15 #define PS2_SEL 10 //16 #define PS2_CLK 12 //17 // 电机控制引脚; #define IN1 4 #define IN2 5 #define IN3 6 #define IN4 7 //PWM控制引脚; int speedPinA = 8; int speedPinB = 9; int speed; /****************************************************************** * select modes of PS2 controller: * - pressures = analog reading of push-butttons * - rumble = motor rumbling * uncomment 1 of the lines for each mode selection ******************************************************************/ #define pressures true //#define pressures false #define rumble true //#define rumble false PS2X ps2x; // create PS2 Controller Class //right now, the library does NOT support hot pluggable controllers, meaning //you must always either restart your Arduino after you connect the controller, //or call config_gamepad(pins) again after connecting the controller. int error = 0; byte type = 0; byte vibrate = 0; void setup(){ pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); speed =200; Serial.begin(57600); delay(300) ; //added delay to give wireless ps2 module some time to startup, before configuring it //CHANGES for v1.6 HERE!!! **************PAY ATTENTION************* //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error error = ps2x.config_gamepad(PS2_CLK, PS2_CMD, PS2_SEL, PS2_DAT, pressures, rumble); if(error == 0){ Serial.print("Found Controller, configured successful "); Serial.print("pressures = "); if (pressures) Serial.println("true "); else Serial.println("false"); Serial.print("rumble = "); if (rumble) Serial.println("true)"); else Serial.println("false"); Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;"); Serial.println("holding L1 or R1 will print out the analog stick values."); Serial.println("Note: Go to http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.billporter.info&urlrefer=23792f83e18c76f0371bffca122c9ba3 for updates and to report bugs."); } else if(error == 1) Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.billporter.info&urlrefer=23792f83e18c76f0371bffca122c9ba3 for troubleshooting tips"); else if(error == 2) Serial.println("Controller found but not accepting commands. see readme.txt to enable debug. Visit http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.billporter.info&urlrefer=23792f83e18c76f0371bffca122c9ba3 for troubleshooting tips"); else if(error == 3) Serial.println("Controller refusing to enter Pressures mode, may not support it. "); // Serial.print(ps2x.Analog(1), HEX); type = ps2x.readType(); switch(type) { case 0: Serial.print("Unknown Controller type found "); break; case 1: Serial.print("DualShock Controller found "); break; case 2: Serial.print("GuitarHero Controller found "); break; case 3: Serial.print("Wireless Sony DualShock Controller found "); break; } } void turnLeft(){ digitalWrite(IN1,HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4,HIGH); } void turnRight(){ digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); } void forward(){ digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); } void back(){ digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); } void loop(){ /* You must Read Gamepad to get new values and set vibration values ps2x.read_gamepad(small motor on/off, larger motor strenght from 0-255) if you don't enable the rumble, use ps2x.read_gamepad(); with no values You should call this at least once a second */ if(error == 1) //skip loop if no controller found return; if(type == 2) {//Guitar Hero Controller return; } else { //DualShock Controller ps2x.read_gamepad(false, vibrate); //read controller and set large motor to spin at 'vibrate' speed //start 开始运行,电机初PWM为120; if(ps2x.Button(PSB_START)) { Serial.println("Start is being held"); speed = 120; analogWrite(speedPinA, speed); analogWrite(speedPinB, speed); forward(); } // 电机正转; if(ps2x.Button(PSB_PAD_UP)){ Serial.println("Up held this hard: "); speed= 200; analogWrite(speedPinA, speed); analogWrite(speedPinB, speed); forward(); } // 电机反转; if(ps2x.Button(PSB_PAD_DOWN)){ Serial.print("Down held this hard: "); speed= 200; analogWrite(speedPinA, speed); analogWrite(speedPinB, speed); back(); } //左转; if(ps2x.Button(PSB_PAD_LEFT)){ Serial.println("turn left "); analogWrite(speedPinA, speed); analogWrite(speedPinB, 0); turnLeft(); } //右转; if(ps2x.Button(PSB_PAD_RIGHT)){ Serial.println("turn right"); analogWrite(speedPinA, 0); analogWrite(speedPinB, speed); turnRight(); } // Stop if(ps2x.Button(PSB_SELECT)){ Serial.println("stop"); speed = 0; analogWrite(speedPinA,speed); analogWrite(speedPinB,speed); } } } --------------------- 作者:卧龙_ 来源:CSDN 原文:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fblog.csdn.net%2FDraonly%2Farticle%2Fdetails%2F77319435&urlrefer=ec5ea7da86998f372c8cf7f66d87127c 版权声明:本文为博主原创文章,转载请附上博文链接!
arduino+L298N驱动两轮小车 小车就两轮的+L298N直接忒代码,正反转,简单暴力 无脑运动。 #include <L298N.h> //pin definition #define IN3 8 #define IN4 9 #define IN1 6 #define IN2 7 //create a motor instance void Motor1(boolean reverse)//电机1正转 { if (reverse) //正转 { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); } else //反转 { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); } } void Motor2(boolean reverse)//电机2转动 { if (reverse) //正转 { digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } else //反转 { digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); } } void stopMotor()//电机停转 { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); delay(500); } void setup() { int i; for (i=6;i<=9;i++) //为Ardunio 电机驱动板 pinMode(i,OUTPUT); //设置数字端口6,7,8,9为输出模式 for (i=6;i<=9;i++) digitalWrite(i,OUTPUT); //设置数字端口6,7,8,9为HIGH,电机保持不动 Serial.begin(9600); } void loop() { //tell the motor to go forward (may depend by your wiring) Motor1(1); Motor2(1); delay(500); //stop running stopMotor(); Motor1(0); Motor2(0); delay(500); stopMotor(); }
初学笔记ESP8266 在线下个固件 You successfully commissioned a NodeMCU custom build from the master branch. You selected the following 7 modules: file gpio net node tmr uart wifi. We'll keep you posted by email about the progress of your build. In the meantime I suggest you take a look at the build stats to find out how your firmware configuration compares to others in the community.
点亮1602LCD学习笔记 1602LCD网上买个,为了节省接线又买了块I2C板子直接用I2C接Mega2560的20、21管脚。 之后先新建一个程序下载查找地址;是0X3F. 注意并不是每个设备都一样。要看程序找到的地址。 #include <Wire.h> void setup(){ Wire.begin(); Serial.begin(9600); Serial.println("\nI2C Scanner"); } void loop(){ byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for (address = 1; address < 127; address++ ){ // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0){ Serial.print("I2C device found at address 0x"); if (address < 16) Serial.print("0"); Serial.print(address, HEX); Serial.println(" !"); nDevices++; }else if (error == 4){ Serial.print("Unknow error at address 0x"); if (address < 16) Serial.print("0"); Serial.println(address, HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan }
arduino开发之--ESP8266(转) ArduinoIDE开发 1.在IDE的文件->首选项下添加开发板管理网址(我是1.8.4版本) http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Farduino.esp8266.com%2Fversions%2F2.4.1%2Fpackage_esp8266com_index.json+&urlrefer=cdd717ce65c6df223736d258692541b3 2. 重启IDE在 工具->开发板->开发板管理器 下找到esp8266并安装 3. 重启IDE在 工具->开发板 下就会出现如下开发版 esp8266-01s选择esp8266module下的第一项就行 接下来就可以用ArduinoIDE开发ESP8266模块了 4.点亮led(GPIO2) esp8266-01s本身就是一个mcu可以利用GPIO2来做一些简单的控制。 注意GPIO2在模块启动的时候是不能下拉的,所以led的正极要接VCC负极接GPIO2 GPIO2可以用来控制低电平有效的继电器。 int ledPin = 2; void setup() { pinMode(ledPin, OUTPUT); } void loop() { //开灯 digitalWrite(ledPin, LOW); delay(1000); //关灯 digitalWrite(ledPin, HIGH); delay(2000); } 1 2 3 4 5 6 7 8 9 10 11 12 上传之后就可以看到模块上 vcc和GPIO之间的led 在闪烁了 --------------------- 作者:A__yes 来源:CSDN 原文:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fblog.csdn.net%2Fa__yes%2Farticle%2Fdetails%2F80403461+&urlrefer=1adebd0ad4e174d27aaf4feb91d19c74 版权声明:本文为博主原创文章,转载请附上博文链接!
好久不用,arduino mega 2560无法下载程序 arduino mega 2560无法下载程序了,提示信息如下: 二进制程序大小:666字节(最大258,048字节) avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer
各路大神求指导:arduino+TF卡+OLED做个中文显示 现在有个小课题项目:需要用到arduino+TF卡+OLED做个中文显示,也就是一个小的阅读器, 外加几个按键,TF卡里有3个Txt文档,开机显示各文件名后按选择键选择,然后进入阅览,按键后往上刷新屏幕,每次屏幕切换后文本,全屏切换,不是一行一行更新。 请问难度大麻?求支援,可以有酬谢。 本人程序弱,现在模块都是拿现成的不知道如何搞程序了。
Qt学习C++第一个例子 闲来无事,开始学习C++,第一个控制台,键盘输入及显示。 #include <QCoreApplication> #include<QDebug> #include<iostream> using namespace std; int main(int argc, char *argv[]) { char bb[10]; //变量 qDebug()<<"hello"; cin>>bb; //键盘输入 cout<<bb<<endl; //显示输出 QCoreApplication a(argc, argv);//控制台 return a.exec();//按回车就结束 }
浪淘沙之北戴河再回首 大雨落幽燕,白浪滔天, 秦皇岛外打鱼船。 一片汪洋都不见,知向谁边? 往事越千年,魏武挥鞭, 东临碣石有遗篇。 萧瑟秋风今又是,换了人间。
Qt5.8了解Mysql成功了,可以查询数据,但是不能建新表和写入数据 各位大神: Qt5.8了解Mysql成功了,可以查询数据,但是不能建新表和写入数据。 void Widget::on_pushButton_2_clicked() { QSqlQuery query2; query2.exec("insert into students(id,name,sex,age)""values(02,Jim,F,19)");
西门子触摸屏HMI项目从flexible移植到博途-----第004课程 随着新一代HMI的推出,老的触摸屏已经全面停产,即将退出市场。 当选型选了新一代HMI如精致系列的时候,只能通过博途软件进行编辑,所以要将旧的项目进行移植。 移植过程主要有以下四步: 1、使用WinCC flexible 2008SP3/SP4打开旧的项目进行编译保存,确保项目版本保存为SP3或者SP4,因为只有SP3/SP4的项目能够直接进行移植,SP1/SP2的项目不能直接进行移植。如果旧的项目是SP1/SP2的,那么需要先安装WinCCflexible 2008 SP3/SP4,然后打开旧的项目,项目将会自动升级到SP3/SP4。 2、打开博途,然后选择移植项目,将旧的项目移植为新的博途项目。如果旧的项目已经成功编译并保存为SP3/SP4版本,通常这个过程不会有问题,如果移植出错则查看输出窗口中显示的失败原因。 3、在博途设置页面中,选择可视化选项,设置画面大小调整。因为新一代的触摸屏分辨率全面提升,所以老一代的画面需要进行拉伸放大才能占满新一代触摸屏的画面。如MP27710寸分辨率为640*480,而TP120012寸分辨率为1280*800,所以x放大系数为1280/640=2,y放大系数为800/480=1.6666。将系数设置好之后,更换设备时画面将自动按该比例调整,无需再做手动调整。 4、打开硬件组态,选择更换设备为TP1200。
【建议反馈】08-03丨#奥运会金牌竞猜# 难道贴吧被人工智能占领了吗?每次发帖都删。。啥问题啊。???发个图片交流也删,不涉及黄赌毒也删。。服了申请恢复也没应。
win10免费升级的最后一天,升级装了博途v13 试用了一下,博途v13,step7等都可以装在win10上的,没有网上说的那样不兼容。win10也是可以得。。。
西门子博途组态练习002 001版见 http://tieba.baidu.com/p/4190268591?pid=79922968106&cid=0#79922968106 好久没混贴吧了,长草了吧。。。 这回给大家带来的是一个简单的界面做的加法器。a+b=C,涉及3个变量,两个VB函数 ,界面组态按钮。 1:第一步新建一个组态界面项目 暂且命名Test的吧。。(C语言 编写惯了)
安装西门子博途v12
想收集不同地方的壮话,看看差异性。 目前我想收集各个地方说的壮话,看看各地差异性,形成一个壮话的数据库,各位朋友能帮助吗》有啥好的想法?纯粹是开源,无商业性质的。大伙能用壮话念念这些吗?要语音版的。多谢了!
请求教几个问题--关于PLC存储的 西门子226的CPU--PLC的存储区范围是多少了? 比如使用VD能用到的最大是多少了?比如数据区最大字节是10240字节,那么只能用到VD2560是吗?还是随便命名了?
西门子强制VD数据时,无法传送MOV到存储区 如图所示的一个MOV指令我强制了源地址数据,但是目标地址数据并没有被改变成源数据的呢?没有执行mov指令?
【arduino】DH11学习记录 下载DH11库,写入程序 即可, VCC =+3V Data接数字口11 double Fahrenheit(double celsius) { return 1.8 * celsius + 32; } //摄氏温度度转化为华氏温度 double Kelvin(double celsius) { return celsius + 273.15; } //摄氏温度转化为开氏温度 // 露点(点在此温度时,空气饱和并产生露珠) // 参考: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwahiduddin.net%2Fcalc%2Fdensity_algorithms.htm&urlrefer=277091fedb64ae81ceaa82eb22f73dd7 double dewPoint(double celsius, double humidity) { double A0= 373.15/(273.15 + celsius); double SUM = -7.90298 * (A0-1); SUM += 5.02808 * log10(A0); SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ; SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ; SUM += log10(1013.246); double VP = pow(10, SUM-3) * humidity; double T = log(VP/0.61078); // temp var return (241.88 * T) / (17.558-T); } // 快速计算露点,速度是5倍dewPoint() // 参考: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDew_point&urlrefer=33b29e7526c0c9abe88eac038d0fdbd1 double dewPointFast(double celsius, double humidity) { double a = 17.271; double b = 237.7; double temp = (a * celsius) / (b + celsius) + log(humidity/100); double Td = (b * temp) / (a - temp); return Td; } #include <dht11.h> dht11 DHT11; #define DHT11PIN 11 void setup() { Serial.begin(9600); Serial.println("DHT11 TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT11LIB_VERSION); Serial.println(); } void loop() { Serial.println("\n"); int chk = DHT11.read(DHT11PIN); Serial.print("Read sensor: "); switch (chk) { case DHTLIB_OK: Serial.println("OK"); break; case DHTLIB_ERROR_CHECKSUM: Serial.println("Checksum error"); break; case DHTLIB_ERROR_TIMEOUT: Serial.println("Time out error"); break; default: Serial.println("Unknown error"); break; } Serial.print("Humidity (%): "); Serial.println((float)DHT11.humidity, 2); Serial.print("Temperature (oC): "); Serial.println((float)DHT11.temperature, 2); Serial.print("Temperature (oF): "); Serial.println(Fahrenheit(DHT11.temperature), 2); Serial.print("Temperature (K): "); Serial.println(Kelvin(DHT11.temperature), 2); Serial.print("Dew Point (oC): "); Serial.println(dewPoint(DHT11.temperature, DHT11.humidity)); Serial.print("Dew PointFast (oC): "); Serial.println(dewPointFast(DHT11.temperature, DHT11.humidity)); delay(2000); }
【arduino】HC-05蓝牙模块入手调试中 HC-05蓝牙今天到手想试试,但是不会用啊谁能指导一下?想链接电脑传文件看看效果
【arduino】--PC串口读取serial1的值,为何都是乱码? 我的硬件是mega2560的 使用port1的18 19针脚连接至PC的com口,电脑的的串口调试软件能接受到乱码的数据,而且程序里的灯并未循环闪烁。 #define Led 13 void blink88(); void setup() { Serial.begin(9600); Serial1.begin(9600); pinMode(Led,OUTPUT); } void loop() { if(Serial.available()>0){ char ch=Serial.read(); if (ch=='0'){ blink88(); int date=99; Serial1.print(date,BIN); //Serial.print("00"); } } } void blink88(){ digitalWrite(Led,HIGH); delay(1000); digitalWrite(Led,LOW); delay(1000); }
在Ubuntu下安装树莓派的交叉编译环境,有试过吗? 交叉编译源代码 1、环境 Ubuntu 2、树莓派交叉编译工具安装 step1. 下载树莓派交叉编译工具http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgithub.com%2Fraspberrypi%2Ftools&urlrefer=28db28f21a56c80b439b5f3959e905d8 step2. 将源码放到各用户都能share的文件夹下,如/usr/tools step3. 将交叉编译工具的路径加到环境变量中,为了以后启动不用再设置,我加到了bashrc中 1 $nano ~/.bashrc 2 #在文件的末尾加上: export PATH=$PATH:/usr/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 3 $source .bashrc step4. 检测是否安装成功
树莓派做modbus主站控制PLC从站笔记。 今天突发奇想,想用树莓派控制PLC,现在先安装modbus库 有玩过的朋友指导一下啊
树莓派安装PyQt 想用pyqt做个界面,调用wiringpi控制树莓派的输出输入口 1;http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fwww.riverbankcomputing.com%2Fsoftware%2Fpyqt%2Fdownload5+&urlrefer=67226cd2f973ff434e71fd601757c87d 下载pyqt的linux版本 2:在树莓派下解压 3:执行sudo python configure.py 前提已经安装了python。。一般默认都有了
树莓派2B+,1206LCD搞了好久没搞定 树莓派2B+,第一次 用wiringPI编写程序,无法实现。又换python编写,还是没搞得,有点小崩溃,各位大神谁搞成功了呢?树莓派2b+ 1206LCD
比一比谁是大水逼,每天到处发帖,垃圾帖啊。 大水逼你都到14级了吧?还在哪里水啊??
树莓派点亮一盏灯,喜迎新春到来。 1:放假了,有空把积灰的树莓派拿出,玩玩 2:目的回顾一下知识。 使用GPIO--13口。 1):程序代码:启动灯 True import RPi.GPIO RPi.GPIO.setmode(RPi.GPIO.BOARD) RPi.GPIO.setup (13, RPi.GPIO.OUT) while 1: RPi.GPIO.output(13,True) 2):熄灭 False import RPi.GPIO RPi.GPIO.setmode(RPi.GPIO.BOARD) RPi.GPIO.setup (13, RPi.GPIO.OUT) while 1: RPi.GPIO.output(13,False)
Qt5的qml有很大改进啊,不过学习教程太少了,有在用的吗?
翻土墙·看特供 int modbus_read_holding_registers(unsigned char slave_id, unsigned char start_address, unsigned int num_registers, unsigned short * modbus_registers){ unsigned char transmit[255]; //check return values unsigned char *retValue; int i; retValue = transmit; transmit[0] = slave_id;// printf("slave_id: %c", transmit[0]); transmit[1] = MB_READ_HOLDING_REGISTERS; transmit[2] = start_address >> 8; transmit[3] = start_address & 0xFF; transmit[4] = num_registers >> 8; transmit[5] = num_registers & 0xFF; short crc = CRC16(transmit, 6); transmit[6] = crc; transmit[7] = crc >> 8; for (i=0; i<8; i++) { printf("return value [%d] = %x\n", i, *(retValue+i)); } if (write(fd, transmit, 8) == -1) { perror("Unable to write to serial device"); mb_datagram_status = MB_ERROR; return -1; } mb_waiting_for_reply = 1; struct timespec time; clock_gettime(CLOCK_REALTIME, &time); time.tv_sec += 1; /* Time out here if no bytes have been received within the time out period */ if (pthread_cond_timedwait(&datagram_start_receiving, &waiting_for_reply, &time) == ETIMEDOUT) { mb_datagram_status = MB_TIMEOUT; timeout_error_count++; return -1; } printf("after pthread_cond_timedwait()\n"); pthread_cond_wait(&datagram_finished_receiving, &waiting_for_reply); mb_waiting_for_reply = 0; if (mb_datagram_status == MB_OK) { unsigned char byte_count = modbus_read_num_bytes(datagram); mb_datagram_status = MB_OK; unsigned char * datagram_data = datagram + 3; int i; for(i = 0; i < byte_count / 2; i++) { modbus_registers[i] = datagram_data[i * 2] << 8 | datagram_data[i * 2 + 1]; } return byte_count / 2; } else { return mb_datagram_status; } }
想在windows下用记事本编写Qt程序,用命令行编译,可是无效。 各位大神: 如何让我装上逼,装好逼?想在windows下用记事本编写Qt程序,用命令行编译 第一步已经在记事本里编写了: .c文件 #include <QApplication> #include <QLabel int main(int argc,char *argv[]){ QApplication app(argc,argv); QLabel *mylabel1=new QLabel("hello world!"); mylabel1->show(); return app.exec(); } 第二步: 打开Qt目录下的minggw32,进行输入指令。。 qmake -project qmake hello.pro mingw32-make 但是都没成功。。。。
---转载---libmodbus的代码介绍 EXAMPLE ------- [source,c] ------------------- modbus_t *ctx; ctx = modbus_new_tcp("127.0.0.1", 502); if (modbus_connect(ctx) == -1) { fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno)); modbus_free(ctx); return -1; } -------------------
贴吧最近广告少啦,庆祝一下。 是不是吧?亚马逊啦之类的。本来百度一家独大已经赚不少钱了,还在吧里开放广告。误导人。
求助--Qt作为上位机发送modbus指令给下位机PLC从站的指令转换。 最近闲着无事,重新拾起Qt.大半年的时间都忙别的了,快忘了怎么写代码了。想做个上位机的客户端往PLC的存储区写数据,比如往VW中写数,在串口中模拟成功了,但是呢,每次都需要自己算一遍CRC校验码。。。。比如指令为: 03 06 00 00 00 01 CRCL CRCH...指令03 06 00 00 00 64 CRCL CRCH。只要写的数改变CRC的值就得重新计算。我想自己在Qt做个界面,然后通过串口对进行控制。大神帮帮忙吧。多谢了!
S7200PLC做从站,上位机做主站往PLC写数据开发记录 1:先编写PLC的从站程序---在主程序中编写初始化从站参数。(注意HoldStart地址一般以&VB0开始,不要与库存储区地址冲突,一开始没有了解造成了冲突,会出现提示错误5),还有要记得在主程序中引入SBR0程序,SM0.0----SBR0.错误5:在SBR0写入之后进行下载入PLC即可。 客户端目前使用了模拟主站的软件---Modbus Poll 设置好波特率 校验位等参数即可进行控制PLC了
安装包问题 android SDK---磁盘不够用了,自己都下啥了? 让它自己升级,一下把硬盘都装的满满的了。。。不知道哪些该用哪些不该用啊,,新手新安装不会啊。求教了。
新手问题。。启动虚拟设备失败 安装这个Android studio 老费劲了。。最后启动虚拟设备出现此问题怎么破? emulator: WARNING: Increasing RAM size to 1GB emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!
西门子博途组态 新手闲着没事练练手,有用的一起探讨一下啊 想做个动态的画面
抽油烟机电机接线问题。如图,是黄黑接电容,后黑与蓝或红接入220v是吧?
韩国蔚山走起 准备前往韩国蔚山,有在那边的朋友吗?
1
下一页