|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
спасибо огромное попробую разобраться ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2014, 06:24 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
кстати вот оригинальный код проги Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2014, 07:15 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
нашел еще такое --- Вот готовая оболочка, которую я когда-то использовал для работы с СОМ-портами (если нужно, то есть классы, выкусывающие пакеты по признаку начала и конца, а также по заданному тайм-ауту): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2014, 10:25 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
D129 или кто-нибудь еще. А какая прелесть все static указывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 10:47 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
des1roerD129 или кто-нибудь еще. А какая прелесть все static указывать? старые привычки,ИМХО ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 10:50 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
des1roerD129 или кто-нибудь еще. А какая прелесть все static указывать? Хороший вопрос. В вашем случае функция main - статическая. И находится в классе Program. Она может использовать напрямую только статические переменные. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 10:59 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
Изопропилdes1roerD129 или кто-нибудь еще. А какая прелесть все static указывать? старые привычки,ИМХО Нет, просто не хотел усложнять. По идее, надо создать еще один класс, который менеджер над OneCOMSpectator, А в функции main - создавать экземпляр этого менеджера и тогда все можно делать динамическим. Тут мы уже выходим на уровень, когда у нас может быть коллекция менеджеров, которые (например) отличаются друг от друга коллекциями портов и интевалами опроса. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 11:05 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
D129, сегодня со свежей головой посмотрел, сделал на основе вашего класса. вроде классно получилось. имхо, статик тут не очень нужен как я понял. еще пришлось добавить имя тэга, чтобы в базу заносить ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 13:27 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
в общем и в целом необходимо тему воскресить что имел до этого Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405.
в общем работает с несколькими ком портами. но появилась прелесть в виде ОДНОГО ком порта, на который надо слать данные ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:21 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
des1roerв общем работает с несколькими ком портами. но появилась прелесть в виде ОДНОГО ком порта, на который надо слать данные Задача ОДНОГО компорта - это частный случай задачи НЕСКОЛЬКИХ портов. Задача решена ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:24 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
мне необходимо - получить все данные о компорте из бд, ну это самое легкое. затем запустить поток, отправить конкретное значение, получить данные, прибить(приостановить?) поток и запустить поток для следующего порта. и так по интервалу. то есть опросили порт, отключились, опросили следующий и так до восьми. 30 секунд прошло - начали снова. прога работает, но как то глючно, периодически порт отваливается. подскажите хоть как сделать работу с потоками и классом, работу с ком портом вроде понимаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:24 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
вот не хочет она корректно закрывать и открывать порт. через короткое время выскакивает 09/05/2014 12:16:26|Debug|Execute() System.UnauthorizedAccessException: Access to the port 'COM17' is denied. at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str) at System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace) at System.IO.Ports.SerialPort.Open() at Srvc_MOF_Com.Service1.MyComReader.Execute() in E:\proj\Srvc_MOF_Com\Srvc_MOF_Com\Service1.cs:line 278 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:29 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
может как пошагово решить проблему? ну то есть сделать 146% правильный опрос 1 ком порта, затем создать решение с потоком, переключающимся через 1 секунду на следущий. затем объеденить полученнное - и вуаля, 8 потоков, не знающих друг о друге и работающих попеременно? как сделать такую магию? вроде видел примеры с потоками да сейчас найти не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:31 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
Лично я в процессе работы программы не закрываю ком-порты. Открыв один раз, так и держу. Проблем не испытываю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:32 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
и еще я запутался с потоками c wh.set, wh.waitone ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:35 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
des1roerи еще я запутался с потоками c wh.set, wh.waitone Что не ясно? В двух словах поток висит на waitone, пока где-то не сделаешь wh.set. Я бы посоветовал отойти от этого подхода и сделать через события. А то это одноногая многопоточность получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:40 |
|
Com port работа с несколькими
|
|||
---|---|---|---|
#18+
а можно пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 11:44 |
|
|
start [/forum/topic.php?fid=20&msg=38667063&tid=1402505]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 469ms |
0 / 0 |