Guest User

Untitled

a guest
Sep 2nd, 2019
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <math.h>
  4. #include <unistd.h>
  5.  
  6.  
  7. void writePage(uint16_t address, char *data, uint8_t const len)
  8. {
  9.     uint8_t pageBuffer[32];
  10.     uint8_t pages = (uint8_t)ceil(len / (float)32);
  11.     uint8_t onPage = 1;
  12.     uint8_t max = 0;
  13.     uint8_t min = 0;
  14.     uint8_t dataIndex = 0;
  15.  
  16.     std::cout << "First address: " << address << std::endl;
  17.     std::cout << "Length: " << (int)len << std::endl;
  18.     std::cout << "Pages: " << (int)pages << std::endl;
  19.     std::cout << "-------------" << std::endl << std::endl;
  20.  
  21.     std::cout << "..." << std::endl;
  22.     do
  23.     {
  24.         max = 32 * onPage;
  25.         min = 0 + ((onPage - 1) * 32);
  26.         if (max > len) max = len;
  27.         std::cout << "   -> Start: " << (int)min << std::endl;
  28.         std::cout << "   -> End: " << (int)max << std::endl;
  29.         std::cout << "   -> Page: " << (int)onPage << std::endl << std::endl;
  30.  
  31.         do
  32.         {
  33.             pageBuffer[dataIndex] = data[dataIndex];
  34.             std::cout << "   -> Byte " << (int)dataIndex << ": " << (int)pageBuffer[dataIndex] << "    Min: " << (int)min << " | Max: " << (int)max << std::endl;
  35.             dataIndex++;
  36.             usleep(500000);
  37.         }
  38.         while (dataIndex < max);
  39.  
  40.         onPage++;
  41.         std::cout << "  " << std::endl << "   " << std::endl;      
  42.     }
  43.     while (onPage <= pages);
  44. }
  45.  
  46.  
  47. int main()
  48. {  
  49.     uint64_t testBytes[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  50.  
  51.     writePage(0, reinterpret_cast<char*>(&testBytes[0]), sizeof(testBytes));
  52.  
  53.     getch();
  54.     return (false);
  55. }
Advertisement
Add Comment
Please, Sign In to add comment