Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   1224 / 1224
(#) tki válasza imre12 hozzászólására (») Csü, 17:20 /
 
Csak vízszintesen van tükrözve, vagy függőlegesen is? Mert akkor elforgatásról van szó. XPT2046-os IC van az eszközben (rezisztív panel)? Nem ismerem, de utánaolvasva két lehetőség van: a kalibrálás, ill. szoftverben a koordináták átszámolása használat előtt - elvileg egyik sem nagy ügy.

A kalibrálásnál a Touch_calibrate példát emlegetik, amit futtatni kell, és aminek egy rövid számsor a kimenete, amit a forrásodba be kell illeszteni és minden induláskor meghívni vele egy függvényt. Ezzel nemcsak korrigálni, fejre is lehet fordítani az érzékelést, tehát más beavatkozás nem is kell, ha igaz. Én ezt találtam az XPT2046 kalibrációjához ILI9341-gyel, de keresgélni kell, hogy biztosan jó legyen az adott mikrokontrollerhez. A két IC mint kulcsszavak segítenek:

https://github.com/ardnew/XPT2046_Calibrated
A hozzászólás módosítva: Csü, 17:24
(#) benjami válasza imre12 hozzászólására (») Csü, 17:48 /
 
Első körben próbáld meg a Touch(x), és Touch(y) által visszaadott értékeket módosítani. Ha ez nem vezet eredményre, mert elcsúsznak a gombok a képernyő egyes területein, akkor mélyebben bele kell nyúlni a programba, méghozzá az általad nem közzétett program részekbe.
A touchscreen koordinátáinak kiolvasása A/D konverterrel történik. Ha spi vagy 16bites párhuzamos kijelződ van, akkor a kijelző szokott tartalmazni egy xpt2046 chip-et (ebben van az A/D konverter), magával chip-el spi-vel lehet beszélgetni. Ha 8 bites párhuzamos a kijelződ, akkor a mikrovezérlő saját A/D átalakítóját szokták használni a koordináták kiolvasására. Viszont a kapott A/D értékek egyik esetben sem egyeznek meg a kijelző X és Y koordinátáival, a konverzióhoz némi számolás szükséges. C nyelven valami ilyesmi az átszámolás:
  1. /* calculate display coordinate from touchscreen coordinate and cindex
  2.    param:
  3.    - tx  : touchscreen X coordinate
  4.    - ty  : touchscreen Y coordinate
  5.    - dx* : pointer to display X coordinate
  6.    - dy* : pointer to display Y coordinate
  7.    - mx  : max display X coordinate
  8.    - my  : max display Y coordinate
  9.    return: dx, dy */
  10. void BSP_TS_DisplaycoordCalc(uint16_t tx, uint16_t ty, uint16_t * dx, uint16_t * dy, uint16_t mx, uint16_t my)
  11. {
  12.   int32_t x, y;
  13.   x = (cindex[1] * tx + cindex[2] * ty + cindex[3]) / cindex[0];
  14.   y = (cindex[4] * tx + cindex[5] * ty + cindex[6]) / cindex[0];
  15.  
  16.   if(x < 0)
  17.     x = 0;
  18.   else if(x > mx)
  19.     x = mx;
  20.  
  21.   if(y < 0)
  22.     y = 0;
  23.   else if(y > my)
  24.     y = my;
  25.  
  26.   *dx = x;
  27.   *dy = y;
  28. }

A cindex 7 elemű touchscreen kalibrációt tartalmazó értékeket viszont egyszer elő kell állítani egy touchscreen kalibrátor programmal (nincs beépítve a programodba ez valahova?).
(#) bbatka válasza benjami hozzászólására (») Csü, 20:38 /
 
MMBASIC. Nehéz ügy. Engem is érdekelt hogy mi a fene ez.
A hozzászólás módosítva: Csü, 20:39
(#) imre12 válasza benjami hozzászólására (») Pé, 10:12 /
 
Köszönöm válaszod, úgy látom nem egyszerű a megoldás.
(#) benjami válasza imre12 hozzászólására (») Pé, 10:40 /
 
Attól függ. Ha pl. az X vagy az Y tengelyen az oldal fel van cserélve, de amúgy tökéletesen a helyén vannak a gombok, akkor nem annyira bonyolult a dolog. Ha ez nem igaz, akkor bonyolultabb.
(#) imre12 válasza tki hozzászólására (») Pé, 12:31 /
 
Köszönöm hozzászólásod. Valóban elforgatásról van szó. Az ic PIC32MX170F256B-50I/SP. Lehet hogy marad minden. Nekem ez elég magas.
(#) imre12 válasza benjami hozzászólására (») Pé, 12:33 /
 
Mind a két tengely fel van cserélve. A gombok a helyén vannak.
(#) benjami válasza imre12 hozzászólására (») Pé, 12:53 /
 
Magyarul a touch fólia 180 fokkal el van fordulva a készítő általi kijelzőhöz képest.
Teszteld le így, a sor elején levő sorszámú sorokat módosítsd az alábbiak szerint:
  1. 261: xt = 319 - Touch(x)
  2. 262: yellowt = 239 - Touch(y)
  3. 319: xt = 319 - Touch(x)
  4. 320: yellowt = 239 - Touch(y)
  5. 412: Do While Not ((319-Touch(x)) > 110 And (319-Touch(x)) < 210 And (239-Touch(y)) > 140 And (239-Touch(y)) < 180) : Loop

Ha a kijelződ nem fektetett, hanem állított, akkor a 319 és 239 konstansokat cseréld fel.
(#) imre12 válasza benjami hozzászólására (») Pé, 13:24 /
 
Fektetett a kijelző. Nem tudom viszont hová írjam a sorokat.
  1. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  2. '
  3. ' Garage Parking Assistant
  4. ' Geoff Graham, Dec 15
  5. '
  6. ' Requires MMBasic 5.1 or later and an ILI9341 based LCD panel with touch
  7. '
  8. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  9.  
  10. Option Autorun On
  11. Option Explicit
  12. Option Default None
  13.  
  14. Dim Integer key_coord(4, 5)
  15. Dim String key_caption(4)
  16. Dim Float greent, yellowt, redt, timeout, offset
  17. Dim Float nbr, i, d, darray(5), dtime(3)
  18. Dim Float yellowtempt, redtempt
  19. Dim Integer c, clast
  20.  
  21. ' restore the settings.  If this is the first time set the defaults
  22. Var Restore
  23. If yellowt = 0 And redt = 0 Then
  24.  greent = 200
  25.  yellowt = 50
  26.  redt = 10
  27.  timeout = 20
  28.  offset = 5
  29. EndIf
  30.  
  31. ' initialise some variables
  32. clast = 0
  33. yellowtempt = yellowt : redtempt = redt
  34.  
  35. CLS
  36.  
  37. ' this is the main processing loop
  38. ' keep looping while getting the distance and updating the display
  39. Do
  40.   Watchdog 1000     ' reset after 1 second if the program stops
  41.  
  42.  ' if the display is touched then set the options
  43.   If Touch(x) <> -1 Then clast = 0 : GetOptions
  44.  
  45.   ' get the distance reading and store in an array
  46.  ' set the distance var (d) to the average of the readings in the array
  47.   d = 0
  48.   For i = 1 To 4
  49.     darray(i) = darray(i + 1)
  50.     d = d + darray(i)
  51.   Next i
  52.   darray(5) = Distance(21, 22)
  53.   d = (d + darray(5)) / 5
  54.  
  55.   ' display an error message if the sensor is not found and keep looping
  56.  ' until the sensor returns OK
  57.   If d = -2 Then
  58.     clast = 0
  59.     Text MM.HRes/2, MM.VRes/2, "SENSOR NOT DETECTED", CM, 2, 1, RGB(white)
  60.     Pause 300
  61.     CLS
  62.     Continue Do
  63.   EndIf
  64.  
  65.   ' blank the display if the reading is out of range or more than the
  66.  ' green threshold.  keep looping until distance < green threshold
  67.   If d = -1 Or d - offset >= greent Then
  68.     CLS
  69.     clast = 0
  70.     Continue Do
  71.   EndIf
  72.  
  73.   ' this implements the timeout which blanks the display if no movement
  74.  ' is detected or the vehicle is moving away
  75.   ' this will start timing out if less than 2cm movement in the past 2 sec
  76.  dtime(1) = dtime(2) : dtime(2) = dtime(3) : dtime(3) = d
  77.  If d < dtime(1) - 1 Then Timer = 0
  78.  If Timer >= timeout * 1000 Then
  79.    ' timeout has occured.  blank the display and keep looping
  80.     CLS
  81.     clast = 0
  82.     Continue Do
  83.   EndIf
  84.  
  85.   ' subtract the offset
  86.  d = d - offset
  87.  If d < 0 Then d = 0
  88.  
  89.  ' this sets the colour based on the distance and configured thresholds
  90.   Select Case Cint(d)
  91.    Case > yellowtempt
  92.       c = RGB(green)
  93.       yellowtempt = yellowt
  94.    Case > redtempt
  95.       c = RGB(yellow)
  96.       yellowtempt = yellowt + 1
  97.       redtempt = redt
  98.     Case Else
  99.       c = RGB(red)
  100.       redtempt = redt + 1
  101.   End Select
  102.  
  103.   ' if the colour has changed since the last time around completely
  104.  ' redraw the screen
  105.   If c <> clast Then
  106.     CLS c
  107.     clast = c
  108.   EndIf
  109.  
  110.   ' display the distance
  111.  Text MM.HRes/2, MM.VRes/2, " " + Str$(Cint(d)) + " ", CM, 3, 3, 0, c
  112. Loop
  113.  
  114. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  115. ' routines to draw the option pages and get any changes
  116. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  117.  
  118. ' get the first page of options (timeout, offset and call GetThresholds)
  119. Sub GetOptions
  120.  CLS
  121.  Watchdog 600000      ' restart program after 10 minutes if no key pressed
  122.  
  123.   Do While Touch(x) <> -1 : Loop
  124.   Do
  125.     CLS
  126.     ' draw the options and the change button
  127.    DrawOption 0, RGB(240, 240, 240), "DISPLAY TIMEOUT", 0, timeout, "sec"
  128.    DrawOption 1, RGB(250, 192, 250), "DISTANCE OFFSET", 70, offset, "cm"
  129.    DrawOption 2, RGB(192, 250, 192), "COLOUR THRESHOLDS", 137, greent, Str$(yellowt) + " " + Str$(redt)
  130.  
  131.    ' draw the FINISHED button at the bottom of the screen
  132.     Line 0, 200, MM.HRes, 200, 1, RGB(210, 210, 210)
  133.     key_coord(3,0) = MM.HRes/4 : key_coord(3,1) = 205
  134.     key_coord(3,2) = MM.HRes/2 : key_coord(3,3) = 34
  135.     key_coord(3,4) = RGB(cyan)
  136.     key_caption(3) = "FINISHED"
  137.     DrawButton 3, 0
  138.  
  139.     ' get the selected button and take action based on the button
  140.    Select Case CheckButtonPress(0, 3)
  141.      Case 0
  142.        nbr = timeout
  143.        GetFloat "TIMEOUT (sec)", nbr
  144.          timeout = nbr
  145.      Case 1
  146.        nbr = offset
  147.        GetFloat "OFFSET (cm)", nbr
  148.          offset = nbr
  149.      Case 2
  150.        GetThresholds
  151.      Case 3
  152.        Var Save greent, yellowt, redt, offset, timeout
  153.        Exit Sub
  154.    End Select
  155.  Loop
  156. End Sub
  157.  
  158. ' get the second page of options (the three colour thresholds)
  159. Sub GetThresholds
  160.   CLS
  161.   Watchdog 600000      ' restart program after 10 minutes if no key pressed
  162.  
  163.  Do While Touch(x) <> -1 : Loop
  164.  Do
  165.    CLS
  166.  
  167.    DrawOption 0, RGB(192, 250, 192), "GREEN THRESHOLD", 0, greent, "cm"
  168.    DrawOption 1, RGB(250, 250, 150), "YELLOW THRESHOLD", 70, yellowt, "cm"
  169.    DrawOption 2, RGB(250, 192, 192), "RED THRESHOLD", 137, redt, "cm"
  170.  
  171.    ' draw the FINISHED button at the bottom of the screen
  172.     Line 0, 200, MM.HRes, 200, 1, RGB(210, 210, 210)
  173.     key_coord(3,0) = MM.HRes/4 : key_coord(3,1) = 205
  174.     key_coord(3,2) = MM.HRes/2 : key_coord(3,3) = 34
  175.     key_coord(3,4) = RGB(cyan)
  176.     key_caption(3) = "FINISHED"
  177.     DrawButton 3, 0
  178.  
  179.     ' get the selected button and take action based on the button
  180.    Select Case CheckButtonPress(0, 3)
  181.      Case 0
  182.        nbr = greent
  183.        GetFloat "GREEN (cm)", nbr
  184.        If nbr <= yellowt Then
  185.          MessageBox "Invalid number", "Less than YELLOW"
  186.        Else
  187.          greent = nbr
  188.        EndIf
  189.      Case 1
  190.        nbr = yellowt
  191.        GetFloat "YELLOW (cm)", nbr
  192.        If nbr >= greent Then
  193.          MessageBox "Invalid number", "Greater than GREEN"
  194.        ElseIf nbr <= redt Then
  195.          MessageBox "Invalid number", "Less than RED"
  196.        Else
  197.          yellowt = nbr
  198.        EndIf
  199.      Case 2
  200.        nbr = redt
  201.        GetFloat "RED (cm)", nbr
  202.        If nbr >= yellowt Then
  203.          MessageBox "Invalid number", "Greater than YELLOW"
  204.        Else
  205.          redt = nbr
  206.        EndIf
  207.      Case 3
  208.        Var Save greent, yellowt, redt, offset, timeout
  209.        Exit Sub
  210.    End Select
  211.  Loop
  212. End Sub
  213.  
  214.  
  215. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  216. ' Draw options and get button presses
  217. ' These two subs draw the option title, value and a button labeled "CHANGE"
  218. ' The function CheckButtonPress() will check if a button has been touched.
  219. '
  220. ' These routines use the arrays key_coord() and key_caption() to track the
  221. ' coordinates and size of each button and save its caption.
  222. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  223.  
  224. ' draw a single option
  225. Sub DrawOption n As Integer, colour As Integer, caption As String, vert As Integer, var As Float, units As String
  226.   Const btn_width = 120
  227.   Const fonth = MM.FontHeight * 2
  228.   Const space = 4
  229.   Text MM.HRes/2, vert, caption, CT, 2, 1, colour
  230.   If var <> -1 Then Text MM.HRes/2 - 20, vert + fonth + space, Str$(var) + " " + units, RT, 2, 1, colour
  231.   key_coord(n,0) = MM.HRes/2 + 20 : key_coord(n,1) = vert + fonth + space/2
  232.   key_coord(n,2) = btn_width : key_coord(n,3) = fonth + space
  233.   key_coord(n,4) = RGB(cyan)
  234.   key_caption(n) = "CHANGE"
  235.   DrawButton n, 0
  236. End Sub
  237.  
  238. ' draw a button
  239. Sub DrawButton n As Integer, pressed As Integer
  240.  If pressed Then
  241.    ' draw in reverse video if it is being touched
  242.     RBox key_coord(n,0), key_coord(n,1), key_coord(n,2), key_coord(n,3), , key_coord(n,4), key_coord(n,4)
  243.     Text key_coord(n,0) + key_coord(n,2)/2, key_coord(n,1) + key_coord(n,3)/2, key_caption(n), CM, 2, 1, 0, key_coord(n,4)
  244.   Else
  245.     ' otherwise draw a normal button
  246.    RBox key_coord(n,0), key_coord(n,1), key_coord(n,2), key_coord(n,3), , key_coord(n,4), 0
  247.    Text key_coord(n,0) + key_coord(n,2)/2, key_coord(n,1) + key_coord(n,3)/2, key_caption(n), CM, 2, 1, key_coord(n,4), 0
  248.  EndIf
  249. End Sub
  250.  
  251. ' check if a button has been touch and animate the button's image
  252. ' returns the buttin number
  253. Function CheckButtonPress(startn As Integer, endn As Integer) As Integer
  254.   Local Integer keydwn, xt, yellowt, n
  255.   keydwn = 0
  256.  
  257.   ' keep looping while waiting for a press and release
  258.  Do
  259.    If Touch(x) <> -1 And Not keydwn Then
  260.      ' we have a touch
  261.       xt = Touch(x)
  262.       yellowt = Touch(y)
  263.       ' scan the array key_coord() to see if the touch was within the
  264.      ' boundaries of a button
  265.       For n = startn To endn
  266.         If xt > key_coord(n,0) And xt < key_coord(n,0) + key_coord(n,2) And yellowt > key_coord(n,1) And yellowt < key_coord(n,1) + key_coord(n,3) Then
  267.           ' we have a button press
  268.          ' draw the button as pressed
  269.             Watchdog 600000      ' restart program after 10 minutes if no further key presses
  270.            DrawButton n, 1
  271.          keydwn = 1
  272.          Exit For
  273.        EndIf
  274.      Next n
  275.    EndIf
  276.  
  277.    ' if a button is currently down check if it has been released
  278.     If Touch(x) = -1 And keydwn Then
  279.       ' yes, the button has been released
  280.      ' draw the button as normal (ie, not pressed)
  281.       DrawButton n, 0
  282.       CheckButtonPress = n
  283.       ' return with the button's number
  284.       Exit Function
  285.     EndIf
  286.   Loop
  287. End Function
  288.  
  289.  
  290. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  291. ' the next two subroutines are responsible for drawing the keypad,
  292. ' animating the key presses and returning the entered value as a float.
  293. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  294.  
  295. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  296. ' Get a number
  297. ' when the user touches ENT (enter) the value is saved into the variable var
  298. ' which is parsed as reference as the second argument
  299. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  300. Sub GetFloat caption As String, var As Float
  301.  Const bw = MM.HRes\4, bh = MM.VRes\5
  302.  ' these are the captions on each key
  303.   Local String cap(15) = ("7","8","9","","4","5","6","","1","2","3","Can",".","0","Del","ENT")
  304.   Local Integer key, keydwn
  305.   Local Integer x, y, xt, yellowt, btn
  306.   Local String s
  307.  
  308.   CLS 0
  309.   ' draw the title
  310.  Text 0, 8, caption + ": ", , 2, 1, RGB(yellow), 0
  311.  
  312.  ' draw the entire keypad (99 means draw them all)
  313.   DrawKeypad 99
  314.  
  315.   Do
  316.     If Touch(x) <> -1 And Not keydwn Then
  317.       ' if the panel is touched
  318.      keydwn = 1
  319.      xt = Touch(x)
  320.      yellowt = Touch(y)
  321.      btn = 1
  322.      For y = bh To MM.VRes - bh Step bh
  323.        For x = 0 To MM.HRes - bw Step bw
  324.          If cap(btn-1) <> "" And xt > x And xt < x+bw And yellowt > y And yellowt < y+bh Then
  325.            x = 1000 : y = 1000     ' exit both loops
  326.           Else
  327.             btn = btn + 1
  328.           EndIf
  329.         Next x
  330.       Next y
  331.       ' continue looping if the touch was not on a key
  332.      If btn > 16 Then Continue do
  333.  
  334.      ' special handling for the +, - and . keys
  335.       If (btn = 4 Or btn = 8) And s <> "" Then Continue do
  336.       If btn = 13 And Instr(s, ".") > 0 Then Continue do
  337.  
  338.       ' draw the key as pressed
  339.      DrawKeypad btn
  340.  
  341.      ' special processing for Can (cancel), Del and Ent (enter)
  342.       If btn = 12 Or btn = 16 Then Continue do
  343.       If btn = 15 Then
  344.         If s <> "" Then s = Left$(s, Len(s) - 1)
  345.       Else
  346.         s = s + cap(btn - 1)    ' add the key to our entered string
  347.      EndIf
  348.      Text Len(caption + ": ") * 16, 8, s + " ", , 2, 1, RGB(yellow), 0
  349.    EndIf
  350.  
  351.    ' if a key is currently down check if it has been released
  352.     If Touch(x) = -1 And keydwn Then
  353.       ' yes, the key has been released
  354.      ' draw the key as normal (ie, not pressed)
  355.       keydwn = 0
  356.       DrawKeypad -btn
  357.       ' if ENT return the value
  358.      If btn = 16 And s <> "" Then var = Val(s)
  359.      ' if Can just return
  360.       If btn = 12 Or btn = 16 Then Exit Sub
  361.     EndIf
  362.   Loop
  363. End Sub
  364.  
  365. ' this draws the keypad
  366. ' if the argument is 99 all keys will be drawn
  367. ' if it is negative the particular key will be drawn as normal
  368. ' if it is positive the key will be drawn as depressed
  369. Sub DrawKeypad btndwn As Integer
  370.   Const bw = MM.HRes\4, bh = MM.VRes\5
  371.   Local String cap(15) = ("7","8","9","","4","5","6","","1","2","3","Can",".","0","Del","ENT")
  372.   Local Integer x, y, btn
  373.   btn = 1
  374.   For y = bh To MM.VRes - bh Step bh
  375.     For x = 0 To MM.HRes - bw Step bw
  376.       If cap(btn - 1) <> "" Then
  377.           If btn = btndwn Then
  378.             ' draw the key as touched (ie, reverse video)
  379.            RBox x + 5, y + 5, bw - 5, bh - 5, , RGB(cyan), RGB(cyan)
  380.            Text x + bw/2 + 4, y + bh/2 + 6, cap(btn - 1), CM, 2, 1, 0, RGB(cyan)
  381.          ElseIf -btn = btndwn Or btndwn = 99 Then
  382.            ' draw the key as normal
  383.             RBox x + 5, y + 5, bw - 5, bh - 5, , RGB(cyan), 0
  384.             Text x + bw/2, y + bh/2 + 2, cap(btn - 1), CM, 2, 1, RGB(cyan), 0
  385.           EndIf
  386.         EndIf
  387.       btn = btn + 1
  388.     Next x
  389.   Next y
  390. End Sub
  391.  
  392.  
  393. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  394. ' this handy routine draws a message box with an OK button
  395. ' then waits for the button to be touched
  396. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  397. Sub MessageBox s1 As String, s2 As String
  398.   Local integer w
  399.   If Len(s1) > Len(s2) Then w = Len(s1) Else w = Len(s2)
  400.   w = w * 8     ' get the width of the text (used for the box width)
  401.  
  402.  ' draw the box and the message in it
  403.   RBox MM.HRes/2 - w - 20, 60, w * 2 + 40, 130, , RGB(yellow), 0
  404.   Text MM.HRes/2, 70, s1, CT, 2, 1, RGB(white)
  405.   Text MM.HRes/2, 100, s2, CT, 2, 1, RGB(white)
  406.  
  407.   ' draw the OK button
  408.  RBox 110, 140, 100, 40, , RGB(cyan)
  409.  Text MM.HRes/2, 160, "OK", CM, 2, 1, RGB(cyan)
  410.  
  411.  ' wait for the button to be touched
  412.   Do While Not (Touch(x) > 110 And Touch(x) < 210 And Touch(y) > 140 And Touch(y) < 180) : Loop
  413.  
  414.   ' draw the OK button as depressed
  415.  RBox 110, 140, 100, 40, , RGB(cyan), RGB(cyan)
  416.  Text MM.HRes/2, 160, "OK", CM, 2, 1, 0, RGB(cyan)
  417.  
  418.  ' wait for the touch to be removed
  419.   Do While Touch(x) <> -1 : Loop
  420. End Sub
  421.  
  422.  
  423. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  424. ' embedded fonts
  425. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  426.  
  427. ' Font: Hom_16x24_LE
  428. ' Includes all ASCII characters
  429. DefineFont #2
  430.  5F201810 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  431.  00000000 00000000 00000000 00000000 00000000 00000000 80010000 80018001
  432.  80018001 80018001 00018001 00010001 00000000 80010000 00008001 00000000
  433.  00000000 00000000 700E0000 700E700E 2004700E 20042004 00000000 00000000
  434.  00000000 00000000 00000000 00000000 00000000 00000000 20010000 20012001
  435.  20012001 F80F2001 40024002 F01F4002 40024002 40024002 40024002 00000000
  436.  00000000 00000000 80008000 E8018000 08041802 00040004 E0010002 08001000
  437.  08080800 E00B100C 80008000 80008000 00000000 00000000 00070000 40108008
  438.  40104010 1C078008 0007E000 88007038 04010401 88000401 00007000 00000000
  439.  00000000 00000000 00000000 00000000 C004A003 00040004 00060002 20113009
  440.  4010C010 A0086010 00001807 00000000 00000000 00000000 70000000 E0007000
  441.  8001C000 00000001 00000000 00000000 00000000 00000000 00000000 00000000
  442.  00000000 00000000 10000000 20002000 40004000 80004000 80008000 80008000
  443.  80008000 40004000 20004000 10002000 00000000 00000000 00080000 00040004
  444.  00020002 00010002 00010001 00010001 00010001 00020002 00040002 00080004
  445.  00000000 00000000 80000000 80008000 F007980C 6003C001 180C3006 00000000
  446.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  447.  80008000 80008000 FC1F8000 80008000 80008000 00008000 00000000 00000000
  448.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  449.  00000000 C001C001 00038003 00040006 00000000 00000000 00000000 00000000
  450.  00000000 00000000 FC1F0000 00000000 00000000 00000000 00000000 00000000
  451.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  452.  00000000 C001C001 0000C001 00000000 00000000 00000000 08000000 10000800
  453.  20001000 40002000 80004000 00018000 00020001 00040002 00080004 00000008
  454.  00000000 00000000 00000000 3006C001 08081004 08080808 08080808 08080808
  455.  08080808 30061004 0000C001 00000000 00000000 00000000 00000000 800E8001
  456.  80008000 80008000 80008000 80008000 80008000 80008000 0000F80F 00000000
  457.  00000000 00000000 00000000 200CC003 10101010 10001000 40002000 00018000
  458.  00040002 08100008 0000F81F 00000000 00000000 00000000 00000000 3008C007
  459.  10001000 20001000 3000C003 08000800 08000800 300C0810 0000C003 00000000
  460.  00000000 00000000 00000000 A0006000 20012001 20042002 20082004 20102008
  461.  2000F81F 20002000 0000F801 00000000 00000000 00000000 00000000 0008F00F
  462.  00080008 C00B0008 1000300C 08000800 08000800 30181000 0000C007 00000000
  463.  00000000 00000000 00000000 0003F000 00040006 E0090008 080C100A 08080808
  464.  08080808 10060804 0000E001 00000000 00000000 00000000 00000000 1010F01F
  465.  20002010 40002000 40004000 80004000 80008000 00010001 00000001 00000000
  466.  00000000 00000000 00000000 2004C003 10081008 10081008 E0072004 08101008
  467.  08100810 300C1008 0000C003 00000000 00000000 00000000 00000000 3006C001
  468.  0808180C 08080808 28061804 0800C801 10000800 60001000 0000800F 00000000
  469.  00000000 00000000 00000000 00000000 00000000 C001C001 0000C001 00000000
  470.  00000000 C001C001 0000C001 00000000 00000000 00000000 00000000 00000000
  471.  00000000 C001C001 0000C001 00000000 00000000 C001C001 00038003 00040006
  472.  00000000 00000000 00000000 00000000 60001800 00068001 00300018 00060018
  473.  60008001 00001800 00000000 00000000 00000000 00000000 00000000 00000000
  474.  00000000 00000000 0000FC3F FC3F0000 00000000 00000000 00000000 00000000
  475.  00000000 00000000 00000000 00000000 00060018 60008001 0C001800 60001800
  476.  00068001 00000018 00000000 00000000 00000000 00000000 00000000 C0070000
  477.  10082008 10001000 20001000 0001C000 00000001 80010000 00008001 00000000
  478.  00000000 00000000 C0030000 1008200C 10101010 90107010 10111011 10111011
  479.  78109010 00100010 300C0008 0000E003 00000000 00000000 00000000 C00F0000
  480.  20024001 20022002 10041004 F80F1004 08080808 04100410 00001E3C 00000000
  481.  00000000 00000000 00000000 F03F0000 04080808 04080408 F00F0808 04080808
  482.  04080408 08080408 0000F03F 00000000 00000000 00000000 00000000 E4010000
  483.  0C0C1406 00100408 00100010 00100010 04080010 18060C0C 0000E001 00000000
  484.  00000000 00000000 00000000 E03F0000 08101810 04100410 04100410 04100410
  485.  04100410 18100810 0000E03F 00000000 00000000 00000000 00000000 F83F0000
  486.  08080808 80080808 800F8008 80088008 04080408 04080408 0000FC3F 00000000
  487.  00000000 00000000 00000000 FC1F0000 04040404 40040404 C0074004 40044004
  488.  00040004 00040004 0000C01F 00000000 00000000 00000000 00000000 C8030000
  489.  1818280C 00200810 00200020 FC200020 08100820 100C0818 0000E003 00000000
  490.  00000000 00000000 00000000 3E3E0000 08080808 08080808 F80F0808 08080808
  491.  08080808 08080808 00003E3E 00000000 00000000 00000000 00000000 F80F0000
  492.  80008000 80008000 80008000 80008000 80008000 80008000 0000F80F 00000000
  493.  00000000 00000000 00000000 FE030000 10001000 10001000 10001000 10101000
  494.  10101010 60082010 00008007 00000000 00000000 00000000 00000000 3C3E0000
  495.  20081008 80084008 000B0009 4008800C 10082008 08081008 00001E3E 00000000
  496.  00000000 00000000 00000000 803F0000 00040004 00040004 00040004 00040004
  497.  04040404 04040404 0000FC3F 00000000 00000000 00000000 00000000 0E380000
  498.  0C180C18 14141414 24122412 C4114411 04100410 04100410 00001E3C 00000000
  499.  00000000 00000000 00000000 7E780000 08140818 08120812 08110811 88108810
  500.  48104810 18102810 0000187E 00000000 00000000 00000000 00000000 E0030000
  501.  0C18180C 02200410 02200220 02200220 04100220 180C0C18 0000E003 00000000
  502.  00000000 00000000 00000000 F01F0000 04040804 04040404 08040404 0004F007
  503.  00040004 00040004 0000C01F 00000000 00000000 00000000 00000000 E0030000
  504.  0C18180C 02200410 02200220 02200220 04100220 180C0C18 8C01E003 0000F006
  505.  00000000 00000000 00000000 E03F0000 08081008 08080808 10080808 4008E00F
  506.  10082008 08081008 00000E3E 00000000 00000000 00000000 00000000 C8030000
  507.  1810280C 00100810 C003000C 08003000 08100800 10140818 0000E013 00000000
  508.  00000000 00000000 00000000 FC1F0000 84108410 84108410 80008000 80008000
  509.  80008000 80008000 0000F007 00000000 00000000 00000000 00000000 7C3E0000
  510.  08100810 08100810 08100810 08100810 08100810 10080810 0000E007 00000000
  511.  00000000 00000000 00000000 3E3E0000 04100410 08080808 10041004 20021004
  512.  20022002 C0014001 00008000 00000000 00000000 00000000 00000000 3E3E0000
  513.  04100410 84108410 44114411 280A4809 280A280A 180C180C 0000180C 00000000
  514.  00000000 00000000 00000000 3E3E0000 10040808 20021004 80004001 20024001
  515.  10042002 08080808 00003E3E 00000000 00000000 00000000 00000000 1E3C0000
  516.  10040808 20021004 40012002 80008000 80008000 80008000 0000F007 00000000
  517.  00000000 00000000 00000000 F81F0000 10100810 40102010 80004000 00020001
  518.  08040802 08100808 0000F81F 00000000 00000000 00000000 E0000000 80008000
  519.  80008000 80008000 80008000 80008000 80008000 80008000 80008000 E0008000
  520.  00000000 00000000 00080000 00040008 00020004 00010002 80000001 40008000
  521.  20004000 10002000 08001000 00000800 00000000 00000000 80030000 80008000
  522.  80008000 80008000 80008000 80008000 80008000 80008000 80008000 80038000
  523.  00000000 00000000 80000000 2002C001 08081004 00000000 00000000 00000000
  524.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  525.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  526.  FF7F0000 00000000 80030000 C0018003 6000C000 00002000 00000000 00000000
  527.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  528.  00000000 2008C007 10001000 3008D007 10101010 30081010 0000DC07 00000000
  529.  00000000 00000000 00000000 00080038 00080008 0C0AF009 0208040C 02080208
  530.  02080208 0C0A040C 0000F039 00000000 00000000 00000000 00000000 00000000
  531.  00000000 180CE803 08100808 00100010 00100010 180C0C08 0000E003 00000000
  532.  00000000 00000000 00000000 08003800 08000800 2818C807 08201810 08200820
  533.  08200820 28181810 0000CE07 00000000 00000000 00000000 00000000 00000000
  534.  00000000 180CE003 04100808 FC1F0410 00100010 0C0C0008 0000F003 00000000
  535.  00000000 00000000 00000000 8401F800 00010001 0001F80F 00010001 00010001
  536.  00010001 00010001 0000F80F 00000000 00000000 00000000 00000000 00000000
  537.  00000000 2818CE07 08201810 08200820 08200820 28181810 0800C807 10000800
  538.  C00F3000 00000000 00000000 00080038 00080008 100AE009 0808080C 08080808
  539.  08080808 08080808 00003E3E 00000000 00000000 00000000 80000000 80008000
  540.  00000000 80008007 80008000 80008000 80008000 80008000 0000F80F 00000000
  541.  00000000 00000000 20000000 20002000 00000000 1000F00F 10001000 10001000
  542.  10001000 10001000 10001000 20001000 800F6000 00000000 00000000 0004001C
  543.  00040004 20047804 80044004 00070005 40048004 10042004 00003C1C 00000000
  544.  00000000 00000000 00000000 8000800F 80008000 80008000 80008000 80008000
  545.  80008000 80008000 0000FC1F 00000000 00000000 00000000 00000000 00000000
  546.  00000000 C4183877 84108410 84108410 84108410 84108410 0000C67C 00000000
  547.  00000000 00000000 00000000 00000000 00000000 100AE039 0808080C 08080808
  548.  08080808 08080808 00003E3E 00000000 00000000 00000000 00000000 00000000
  549.  00000000 180CE003 04100808 04100410 04100410 180C0808 0000E003 00000000
  550.  00000000 00000000 00000000 00000000 00000000 0C0AF039 0208040C 02080208
  551.  02080208 0C0A040C 0008F009 00080008 003F0008 00000000 00000000 00000000
  552.  00000000 2818CE07 08201810 08200820 08200820 28181810 0800C807 08000800
  553.  7E000800 00000000 00000000 00000000 00000000 C402380E 00020003 00020002
  554.  00020002 00020002 0000F01F 00000000 00000000 00000000 00000000 00000000
  555.  00000000 1804E803 00040804 70008003 08000800 100C0808 0000E00B 00000000
  556.  00000000 00000000 00000000 00040004 00040004 0004F01F 00040004 00040004
  557.  00040004 18020004 0000E001 00000000 00000000 00000000 00000000 00000000
  558.  00000000 08083838 08080808 08080808 08080808 28041808 0000CC03 00000000
  559.  00000000 00000000 00000000 00000000 00000000 08083E3E 10040808 10041004
  560.  20022002 C0014001 00008000 00000000 00000000 00000000 00000000 00000000
  561.  00000000 04101E3C 84100410 48098808 48094809 30065005 00003006 00000000
  562.  00000000 00000000 00000000 00000000 00000000 08083C1E 20021004 80004001
  563.  20024001 08081004 00003C1E 00000000 00000000 00000000 00000000 00000000
  564.  00000000 08103C3C 10080810 20081008 40042004 80024002 00018001 00020001
  565.  803F0002 00000000 00000000 00000000 00000000 0808F80F 20001008 80004000
  566.  00020001 08080804 0000F80F 00000000 00000000 00000000 60000000 80008000
  567.  80008000 80008000 80008000 80000003 80008000 80008000 80008000 60008000
  568.  00000000 00000000 00000000 80000000 80008000 80008000 80008000 80008000
  569.  80008000 80008000 80008000 80008000 00000000 00000000 00030000 80008000
  570.  80008000 80008000 80008000 80006000 80008000 80008000 80008000 00038000
  571.  00000000 00000000 00000000 00000000 00000000 00000000 98190C0F 0000F030
  572.  00000000 00000000 00000000 00000000 00000000
  573. End DefineFont
  574.  
  575.  
  576. ' ArialNumFontPlus.bas
  577. ' Font type    : Special (SubSet)
  578. ' Font size    : 32x50 pixels
  579. ' Memory usage : 2204 bytes
  580. DefineFont #3
  581.  0B303220 00000000 00000000 00F00F00 00F81F00 00FE7F00 00FFFF00 00FFFF01
  582.  801FF803 C00FF003 C007E007 E003C007 E003C00F F001800F F001800F F001801F
  583.  F800001F F800001F F800001F F800001F FC00003F 7C00003E 7C00003E 7C00003E
  584.  7C00003E 7C00003E 7C00003E 7C00003E 7C00003E 7C00003E 7C00003E 7C00003F
  585.  F800001F F800001F F800001F F800001F F001800F F001800F F001800F E003C007
  586.  E003C007 C007E003 C00FF003 801FF801 00FFFF00 00FEFF00 00FC7F00 00F81F00
  587.  00E00700 00000000 00000000 00000000 00000000 00000000 00F00000 00F00100
  588.  00F00300 00F00700 00F00F00 00F01F00 00F03F00 00F07F00 00F0FF01 00F0FD03
  589.  00F0F10F 00F0E10F 00F0810F 00F0010F 00F0010C 00F00100 00F00100 00F00100
  590.  00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100
  591.  00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100
  592.  00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100 00F00100
  593.  00F00100 00F00100 00F00100 00000000 00000000 00000000 00000000 00F00F00
  594.  00FE7F00 00FFFF01 C0FFFF03 E0FFFF03 F00FE007 F003C00F F001800F F800001F
  595.  F800001F F800003E 7C00003E 7C00003E 7C000000 7C000000 7C000000 78000000
  596.  F8000000 F8010000 F0030000 F0070000 E00F0000 C01F0000 803F0000 007F0000
  597.  00FE0000 00FC0100 00F80300 00F00700 00E00F00 00C01F00 00803F00 00007F00
  598.  0000FE00 0000FC01 0000F803 0000F007 0000E007 0000C00F 0000800F 0000801F
  599.  FCFFFF3F FCFFFF3F FCFFFF7F FCFFFF7F FCFFFF7F 00000000 00000000 00000000
  600.  00000000 00F00F00 00FC3F00 00FEFF00 00FFFF01 80FFFF03 C01FE003 C00FC007
  601.  E0078007 E003800F E003000F F003000F F001000F F0030000 E0030000 E0030000
  602.  E0070000 C00F0000 C01F0000 803F0000 00FF0700 00FF0700 00FF0700 80FF0700
  603.  C01F0000 E00F0000 E0030000 F0010000 F0000000 F8000000 F8000000 FC000000
  604.  FC000000 FC000000 FC00001F FC00001F F800001F F801001F F801800F F003800F
  605.  F007C00F E00FE007 C03FFC03 80FFFF01 00FFFF00 00FC7F00 00F00F00 00000000
  606.  00000000 00000000 00000000 000F0000 001F0000 001F0000 003F0000 003F0000
  607.  007F0000 007F0000 00FF0000 00FF0100 00FF0100 00FF0300 00DF0700 00DF0700
  608.  009F0F00 009F0F00 001F1F00 001F3E00 001F7E00 001F7C00 001FF800 001FF800
  609.  001FF001 001FE003 001FE003 001FC007 001FC007 001F800F 001F801F 001F001F
  610.  001F003E FCFFFF3F FCFFFF3F FCFFFF3F FCFFFF3F FCFFFF3F 001F0000 001F0000
  611.  001F0000 001F0000 001F0000 001F0000 001F0000 001F0000 001F0000 001F0000
  612.  001F0000 00000000 00000000 00000000 00000000 F0FFFF01 F0FFFF01 F0FFFF01
  613.  F0FFFF01 F0FFFF01 0000E003 0000C003 0000C003 0000C003 0000C007 0000C007
  614.  0000C007 0000C007 00008007 0000800F 00F0800F 00FE8F0F 80FFBF0F C0FFFF0F
  615.  E0FFFF0F F007FF1F F003E01F F801C01F F800001F F8000000 FC000000 7C000000
  616.  7C000000 7C000000 7C000000 7C000000 7C000000 7C000000 F800003F F800003F
  617.  F800003F F000001F F001001F E003801F E007C00F C01FE007 80FFFF03 00FFFF03
  618.  00FEFF01 00F87F00 00E00F00 00000000 00000000 00000000 00000000 00F00F00
  619.  00FE3F00 00FFFF00 80FFFF01 C0FFFF03 E007E007 F003C007 F001C00F F800800F
  620.  F800801F F800801F 0000001F 0000001F 0000003F 0000003F 0000003F 00F0033F
  621.  00FC1F3F 00FE7F3F 80FFFF3F C0FFFF3F E00FF83F F003E03F F003E03F F801C03F
  622.  F800803F F800803F 7C00003F 7C00003F 7C00003F 7C00003F 7C00003F 7C00003F
  623.  7C00001F 7800801F F800801F F800801F F800800F F001C00F F003F007 E00FF803
  624.  C0FFFF01 80FFFF00 00FF7F00 00FC1F00 00F00300 00000000 00000000 00000000
  625.  00000000 FCFFFF3F FCFFFF3F FCFFFF3F FCFFFF3F FCFFFF3F FC000000 FC000000
  626.  F8010000 F0010000 E0030000 E0030000 C0070000 800F0000 001F0000 003E0000
  627.  007C0000 00FC0000 00F80000 00F00000 00F00100 00F00100 00E00300 00E00300
  628.  00E00300 00C00700 00C00700 00800F00 00800F00 00800F00 00001F00 00001F00
  629.  00001F00 00001F00 00003E00 00003E00 00003E00 00003E00 00003E00 00007C00
  630.  00007C00 00007C00 00007C00 00007C00 0000F800 0000F800 0000F800 00000000
  631.  00000000 00000000 00000000 00F00F00 00FE7F00 80FFFF00 80FFFF01 C01FF803
  632.  E007E007 E003C007 F003C00F F001800F F001800F F001800F F001800F F001800F
  633.  F001800F E003C007 E003C007 C007E003 8007F001 003FFC00 00FF7F00 00FC3F00
  634.  00FE7F00 00FFFF00 C0FFFF03 E00FF007 F003C00F F001800F F801801F F800001F
  635.  F800001F 7C00003E 7C00003E 7C00003E 7C00003E 7C00003E 7C00003E F800001F
  636.  F800001F F001800F F003800F E007C007 C00FF003 80FFFF01 00FFFF00 00FC3F00
  637.  00F00F00 00000000 00000000 00000000 00000000 00F00F00 00FC3F00 00FFFF00
  638.  80FFFF01 C0FFFF03 E01FF803 E007E007 F007E007 F003C00F F803C00F F801801F
  639.  F801801F FC00001F FC00001F FC00001F FC00001F FC00001F FC00001F FC01801F
  640.  FC01801F FC03C00F FC03C00F FC07E007 FC07E007 FC1FF803 FCFFFF01 FCFFFF00
  641.  FCFEFF00 FCF87F00 FCE01F00 FC000000 FC000000 FC000000 FC000000 F8010000
  642.  F801003F F001003F F003001F E007801F E00FC00F C03FE00F 80FFFF07 00FFFF03
  643.  00FEFF01 00F8FF00 00E03F00 00000000 00000000 00000000 00000000 00000000
  644.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  645.  00000000 00E00000 00F00100 00F80300 00F80300 00F80300 00F00100 00E00000
  646.  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  647.  00000000 00000000 00000000 00000000 00000000 00000000 00E00000 00F00100
  648.  00F80300 00F80300 00F80300 00F00100 00E00000 00000000 00000000 00000000
  649.  00000000 00000000 00000000 00000000 00000000 00000000 00000000
  650. End DefineFont
A hozzászólás módosítva: Pé, 15:00
Moderátor által szerkesztve
(#) tki válasza imre12 hozzászólására (») Pé, 14:16 /
 
Ami az én korábbi válaszomat illeti, nem néztem meg, hogy kódot is küldtél. Nem ilyen környezetre gondoltam.

benjami segítségével kapcsolatban az a félreértés, hogy neked is olyan szövegszerkesztőben kellene megnyitnod a forráskódot, ami megszámozza a sorokat, mivel pl. 412-t lépni lefelé, miközben számolod, hol tartasz, elég kellemetlen munka. : -) Utána világos lesz, hogy mit mivel kell kicserélni.
(#) tki válasza tki hozzászólására (») Pé, 14:33 /
 
Vagyis 411-et, ha az elsőből indulsz. Mindegy. : -)
(#) tki válasza tki hozzászólására (») Pé, 15:28 /
 
Amikor az előző hozzászólásomat írtam, még nem javította ki a moderátor, hogy kódként látsszon a program, vagyis sorszámokkal (és behúzásokkal) legalább itt, a HE-n, szóval tárgytalan, mert már te is látod. : -)
A hozzászólás módosítva: Pé, 15:29
(#) imre12 válasza tki hozzászólására (») Pé, 16:42 /
 
Nagyon szépen köszönöm. Sokra értékelem a segítőkészséged. Sajnos nem megy a fordítás. MPLAB v8.92 IDE nem is ismeri a PIC32MX170F256B-501/SP mikrokontrollert. Hibát jelez. Mint ez elején írtam, csupán hex fájlt sikerült beégetnem PICKIT3-al.
Majd beállítom képzeletbeli elforgatással. Mégegyszer köszönet.
És köszönet benjami-nak is
Imre
A hozzászólás módosítva: Pé, 16:45
(#) albinolynx hozzászólása Pé, 17:23 /
 

YAPSCO-10V

Sziasztok!

YAPSCO-10V analóg-digitális szervó illesztő áramkört szeretnék építeni. Nincs tapasztalatom dsPIC égetéssel kapcsolatban. Úgy tájékozódtam, hogy egy pickit 3 megfelelő lehet a .hex fájl beégetéséhez. Esetleg van ilyen tapasztalata valakinek? TME-ről szeretnék rendelni dsPIC-et. Itt a github projekt link
Jól értelmezem, hogy amennyiben sikerül megfelelően égetni a dsPIC-et, úgy utána az projekten belül található "usb progkey RS232" eszközzel már tudok is hozzá csatlakozni? Konkrét építési tapasztalata esetleg van valakinek? Köszönöm!
(#) bbatka válasza albinolynx hozzászólására (») Pé, 18:03 /
 
dsPIC fajtájától függ, de valószínűleg támogatja a PICKit3 a PICKitminus szoftverrel.
(#) bbatka válasza imre12 hozzászólására (») Pé, 18:08 /
 
A PICKITMinus szoftver egészen biztosan támogatja a PIC-det. A fordításhoz az MM Edit5 szoftverre van szükséged. A PICKit3 csak a bootloader betöltéséhez kell. Ha ez megtörtént, akkor a Win10 fel fogja ismerni az eszközt az USB-re dugva. Az MM Edit5-el fogod lefordítani a forrás fájlodat és ezzel fogod az eszközre feltölteni is. Úgy működik mint az Arduino.
(#) albinolynx válasza bbatka hozzászólására (») Pé, 18:27 /
 
dsPIC30F4012 van a projektben. A .hex beégetést értem. Nekem bootloader, meg ilyesmi nem kell. Csak simán a .hex beégetés és kész. Paraméterezés a tuning szoftverrel. (Kicsit tartok attól, hogy beégetem, aztán nem sikerül csatlakozni hozzá, stb. AVR-es dc szervó vezérlővel már szívtam.)
A hozzászólás módosítva: Pé, 18:36
(#) bbatka válasza albinolynx hozzászólására (») Pé, 20:04 /
 
A konfiguráció be van állítva a HEX-ben, de egyébként se tudsz kárt okozni a dsPIC-ben. A panel építés ami kihívás inkább. Több napot kínlódtam egy dsPIC-es általam készített panellel. PICkit2 nem látta. USB ICD2 clone nem látta. RS232 ICD2 clone látta warmmal. Külön 3,3V-al tápláltam a panelt. PICKit3 látta egy ideig. 3-4 égetés sikerült, aztán behalt. Ezek után már az RS232 ICD2 clone se tudott hozzá csatlakozni. Kondikat cserélgettem a panelen, de nem volt eredménye.
(#) albinolynx válasza bbatka hozzászólására (») Pé, 20:13 /
 
A nyáktervet már elkészítették a jlcpcb-nél. Dokumentációban meg szerepel a már emlegetett usb-rs232 konverter. Ilyenem viszot van két fajta is hestore-ból. Rendelek dsPIC-et.
(#) imre12 válasza bbatka hozzászólására (») Pé, 21:06 /
 
Köszönöm
Következő: »»   1224 / 1224
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem